簡體   English   中英

當我在Asp.net Core(MVC)中搭建控制器時,出現代碼生成錯誤

[英]When I scaffold a controller in Asp.net Core (MVC), I get a Code generation error

我正在使用Visual Studio 2017開發Web應用程序(Asp.net Core 2.0 MVC),然后轉移到Visual Studio2019。然后將目標框架從.NET Core 2.0更改為.NET Core 2.2。 之后,我使用(Scaffold-DbContext)命令從數據庫創建了模型。

然后,我按照后續步驟操作:

  1. 用鼠標右鍵單擊控制器文件夾。
  2. 加。
  3. 新的腳手架項目。
  4. 使用實體框架的帶有視圖的MVC Controller。
  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>

如果您需要任何其他信息,請告訴我。

您不應該在看起來像2.2版應用程序的情況下使用Microsoft.EntityFrameworkCore.ToolsMicrosoft.VisualStudio.Web.CodeGeneration.Design的3.0.0-preview5.19227.1版本程序包,而需要使用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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM