Когда я строю контроллер в Asp.net Core (MVC), я получаю ошибку генерации кода - PullRequest
0 голосов
/ 07 июня 2019

Я разрабатывал веб-приложение (Asp.net Core 2.0 MVC) с использованием Visual Studio 2017, затем я перешел на Visual Studio 2019. Затем я изменил целевой фреймворк с .NET Core 2.0 на .NET Core 2.2. после этого я создал модели из базы данных с помощью команды (Scaffold-DbContext).

Тогда я следовал следующим шагам:

  1. Щелкните правой кнопкой мыши папку контроллера.
  2. Добавить.
  3. Новый товар в лесах.
  4. MVC Controller с представлениями с использованием Entity Framework.
  5. Выберите модель, DbContext, имя контроллера.
  6. Добавить.

Тогда я получу это Error

Это часть файла .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 Ответ

1 голос
/ 07 июня 2019

Вы не должны использовать пакеты версий 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>
...