首页 > 解决方案 > 为什么 Entity Framework Core 迁移需要 .NET Core 2.x?

问题描述

在我的 .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

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

解决方案


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

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


推荐阅读