VS2022中dotnet EF Core迁移命令运行报错问题
故障原因
- 核心问题是dotnet-ef全局工具版本与项目内EF Core依赖版本不兼容:项目内所有EF Core相关NuGet包均为3.1.25版本,但执行无版本参数的安装命令时,会默认拉取最新正式版的dotnet-ef工具,跨大版本的工具和旧版EF Core运行时无法适配,直接触发报错。
- 重复执行无版本参数的安装命令时,依旧会拉取不兼容的最新版本,因此无法解决问题。
修复步骤
- 卸载当前已安装的不兼容版本dotnet-ef全局工具,执行命令:
dotnet tool uninstall --global dotnet-ef
- 安装与项目EF Core版本完全匹配的3.1.25版本dotnet-ef工具,必须显式指定版本参数:
dotnet tool install --global dotnet-ef --version 3.1.25
- 安装完成后执行版本校验命令,确认工具版本正确:
dotnet ef --version
命令输出版本号为3.1.25即代表安装正确,后续可正常执行数据库迁移相关操作。
补充规则:dotnet-ef工具的主版本号必须和项目引用的Microsoft.EntityFrameworkCore系列包主版本号完全一致,跨主版本混用必然出现兼容性问题。后续如果升级项目内EF Core版本,同步卸载旧版工具、安装对应版本的dotnet-ef即可。
内容的提问来源于stack exchange,提问作者B Kansara
相关产品推荐
相关产品推荐

