使用EF Core 6无法添加迁移,报错要求Microsoft.NETCore.App 2.0.0
报错原因及解决方案
为什么会要求.NET 2.0版本
该报错和你的项目本身使用的.NET版本无关,问题出在EF Core命令行工具的版本上:
- 你全局安装的
dotnet ef工具版本过老,早期的dotnet ef2.x版本基于.NET Core 2.0运行时构建,运行时必须依赖对应版本的框架才可以启动,所以会触发找不到.NET Core 2.0的报错。 - 少数场景下是项目中引用的EF Core相关NuGet包版本不统一,存在跨大版本的依赖冲突,间接触发了旧版本的依赖校验逻辑。
修复方法
- 第一步:卸载全局旧版
dotnet ef工具,执行以下命令:dotnet tool uninstall --global dotnet-ef - 第二步:安装和你项目使用的EF Core大版本匹配的工具,如果你项目用的是EF Core 6版本,执行以下命令:
dotnet tool install --global dotnet-ef --version 6.* - 第三步:检查项目.csproj文件中所有以Microsoft.EntityFrameworkCore开头的NuGet包引用,确保所有包的大版本完全一致,不存在2.x和5.x/6.x混用的情况。
内容的提问来源于stack exchange,提问作者Douglas Woods
相关产品推荐
相关产品推荐

