1

我正在使用 Visual Studio 2017 开发一个 Web 应用程序(Asp.net Core 2.0 MVC),然后我转移到 Visual Studio 2019。然后我将目标框架从 .NET Core 2.0 更改为 .NET Core 2.2。之后,我使用 (Scaffold-DbContext) 命令从数据库创建模型。

然后我按照以下步骤操作:

  1. 右键单击控制器文件夹。
  2. 添加。
  3. 新的脚手架项目。
  4. 带有视图的 MVC 控制器,使用实体框架。
  5. 选择模型、DbContext、控制器名称。
  6. 添加。

然后我得到这个 错误

这是 .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>

如果您需要任何进一步的信息,请告诉我。

4

1 回答 1

2

您不应该使用 3.0.0-preview5.19227.1 版本的软件包Microsoft.EntityFrameworkCore.ToolsMicrosoft.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>
于 2019-06-06T23:40:29.557 回答