【问题标题】:Why do Entity Framework Core migrations require .NET Core 2.x?为什么 Entity Framework Core 迁移需要 .NET Core 2.x?
【发布时间】:2021-06-11 12:20:40
【问题描述】:

在我的 .NET5.0 项目中,安装了 PostgreSQL Nuget 包 (Npgsql.EntityFrameworkCore.PostgrSQL (5.0.2)) 及其对 EF Core 的依赖项 (Microsoft.EntityFrameworkCore (5.0.2))。

我正在尝试使用此命令创建迁移:

dotnet ef migrations add InitialCreate

但是,迁移失败,因为我被要求安装 .NET Core 2.0.0 - 按照推荐的下载链接,我被告知它不再可用,我可能想要使用 5.0。我该如何运行迁移?

这是输出的样子:

Build started...
Build succeeded.
It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '2.0.0' was not found.
  - The following frameworks were found:
      3.1.11 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
      3.1.12 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
      3.1.13 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
      5.0.3 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
      5.0.4 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

You can resolve the problem by installing the specified framework and/or SDK.

The specified framework can be found at:
  - https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=2.0.0&arch=x64&rid=osx.11.0-x64

【问题讨论】:

  • Microsoft.EntityFrameworkCore.Tools的版本是多少?
  • Entity Framework Core .NET 命令行工具 5.0.4
  • 发布你的 app.csproj,你可能有任何依赖于核心 2.x 的包
  • 在使用任何 EF 工具之前,我的项目运行良好,并且都是 .NET 5.0。
  • 我也有同样的问题,你找到解决办法了吗@Krumelur?

标签: c# entity-framework-core .net-5


【解决方案1】:

确保您的 csproj 中有 <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.5" />。还可以尝试更新 dotnet-ef 工具:dotnet tool update --global dotnet-ef

我执行了这些操作,问题就消失了。

【讨论】:

  • 就像一个魅力。你拯救了我的一天。
  • 没有为我解决问题...
猜你喜欢
  • 2018-11-05
  • 2017-07-03
  • 2017-10-27
  • 2017-05-16
  • 2020-03-09
  • 2017-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多