【问题标题】:Issue with code generation in .NET 5.0 with Entity Framework Core使用 Entity Framework Core 在 .NET 5.0 中生成代码的问题
【发布时间】:2021-06-11 02:58:24
【问题描述】:

我在使用 Entity Framework Core 在 .NET 5.0 中创建 API 控制器时遇到问题。

这就是我正在做的事情:

  • 我使用的是 .NET 5.0
  • 安装了 Entity Framework Core 包,并且所有 3 个都有 5.0 版

  • 模型和 DataContext 类已经被创建并且使用它们之前已经在数据库中创建了一个表

  • 但是,当我右键单击 API 项目时,单击 Controller > 选择“API Controller with actions, using Entity Framework” > 选择“Model Class” & “DataContext class” > 输入控制器的名称

  • 我不断收到错误

运行所选代码生成器时出错:包还原失败。回滚 API 的更改

故障排除完成:

  • 工具 > 选项 > NuGet 包管理器 > 清除所有 NuGet 缓存中清除了 NuGet 缓存
  • 确保 .csproj 中的 Entity Framework Core 包和 .net 版本相同

我在这里遗漏了什么导致问题的原因?

【问题讨论】:

  • 你除了API还有其他项目吗?你试过安装Microsoft.VisualStudio.Web.CodeGeneration.Design吗?
  • @dglozano 不,我没有任何其他同名 API 的项目。我还为这个项目安装了 Microsoft.VisualStudio.Web.CodeGeneration.Design 并再次尝试。还是一样的错误信息
  • 我指的是同一解决方案中的任何其他项目,可能与正在使用的版本不匹配
  • 解决方案中除了API之外,只有一个UI项目,使用的是同一个.NET版本

标签: entity-framework-core .net-5 asp.net-core-5.0


【解决方案1】:

如果您安装了最新版本的Microsoft.VisualStudio.Web.CodeGeneration.Design 软件包,您可能获得了5.0.2 版本。该包无法生成基于版本 5.0.0 的 Entity Framework Core 包的代码。

根据我的经验 - 要生成基于 EF Core 的代码,Design 包的版本应该等于或小于 EF Core 包的版本。因此,您需要升级EF Core 软件包,或者安装Design 软件包的5.0.0 版本。

编辑:
我遇到了同样的问题,在升级 EF Core 软件包(当前为 5.0.4)并安装最新的 Design 软件包(当前为 5.0.2)后解决了。

【讨论】:

  • 我尝试安装 5.0.03.1.5 的版本 Microsoft.VisualStudio.Web.CodeGeneration.Design ,仍然得到同样的错误
  • @Scorpio 安装最新的 EF Core 包 (5.0.4) 和最新的 CodeGeneration.Design 包 (5.0.2)。然后再试一次。我遇到了同样的问题,在按照我在答案中提到的方式调整包版本后解决了。
  • 太棒了!在我将 EF Core 包升级到 5.0.4 后,它工作正常。感谢您的帮助!
  • 如果此答案解决了您的问题,那么您应该将其标记为已接受,以便将来遇到相同问题的用户/访问者知道此解决方案有效。
  • @atiyar 你救了我的命!!我整天在谷歌上搜索答案并转向 Stackoverflow。非常感谢。
【解决方案2】:

就我而言,要生成基于 EF 核心的代码,我需要安装 Microsoft.EntityFrameworkCore5.0.13 版本和 5.0.12 版本> Microsoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.ToolsMicrosoft.VisualStudio.Web.CodeGeneration.Design

的版本 5.0.2

注意:- 确保清除 Nuget 缓存

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    • 2020-12-14
    • 2021-04-03
    • 2018-08-27
    相关资源
    最近更新 更多