c# - 为什么 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
解决方案
确保你<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.5" />
的 csproj 中有。还可以尝试更新 dotnet-ef 工具:dotnet tool update --global dotnet-ef
.
我执行了这些操作,问题就消失了。
推荐阅读
- html - 将 VueJS 数据键变量传递给标签内的 onmouseover 属性
- javascript - 即使我设置了回调函数,反应更新状态以进行验证也总是落后一步
- google-cloud-firestore - 跟踪 Firestore 读取的原因
- r - 了解什么是/如何在 Prophet 中使用prior.scale?
- python - pd.read_csv 没有创建具有适当属性的数据框
- ios - 如何在列表中显示图像 - SwiftUI
- java - else 语句的 java 代码问题。我在第 17 行不断出错
- elasticsearch - Serilog 如何向 Elasticsearch 发送自定义“_id”字段
- python - 从 django.forms 继承模型
- php - 如何从 HTTP 状态码获取 HTTP 状态文本?