Когда я строю контроллер в Asp.net Core (MVC), я получаю ошибку генерации кода
Я разрабатывал веб-приложение (Asp.net Core 2.0 MVC) с использованием Visual Studio 2017, затем я перешел на Visual Studio 2019. Затем я изменил целевой фреймворк с.NET Core 2.0 на.NET Core 2.2. после этого я создал модели из базы данных с помощью команды (Scaffold-DbContext).
Затем я выполнил следующие шаги:
- Щелкните правой кнопкой мыши на папке контроллера.
- Добавлять.
- Новый Леса.
- MVC Controller с представлениями, используя Entity Framework.
- Выберите Модель, DbContext, Имя контроллера.
- Добавлять.
Тогда я получаю эту ошибку
Это часть файла.csproj:
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.2.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.0.0-preview5.19227.1" PrivateAssets="All" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.0.0-preview5-19264-04" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.1" />
<DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="2.0.0" />
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.2" />
</ItemGroup>
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
1 ответ
Решение
Вы не должны использовать пакеты версий 3.0.0-preview5.19227.1 Microsoft.EntityFrameworkCore.Tools
или же Microsoft.VisualStudio.Web.CodeGeneration.Design
в том, что похоже на приложение версии 2.2, вам необходимо использовать версии этих пакетов 2.2.x.
Попробуйте изменить версии на следующее:
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.2.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.4" PrivateAssets="All" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.3" PrivateAssets="All" />
</ItemGroup>