执行add-migration报错:调用Start时提示指定可执行文件不适用于当前OS平台
报错根因
该错误是EF迁移工具调用的可执行文件架构与当前项目/系统配置不匹配导致,和系统变量关联度极低,无需重装或降级VS版本。
解决方案(按优先级排查)
- 确认系统与项目架构匹配
右键「此电脑-属性」确认系统为64位后,右键DAL项目选择「属性-生成」,将「平台目标」设为Any CPU,取消勾选「首选32位」选项后保存,重启VS重试。 - 校验NuGet包版本一致性
检查DAL项目引用的Microsoft.EntityFrameworkCore.Tools、Microsoft.EntityFrameworkCore.Design包版本,必须与EF核心主包版本完全一致,版本不匹配的卸载后重装对应版本即可。 - 改用dotnet CLI执行迁移(绕过包管理器控制台兼容性问题)
打开终端切换到DAL项目.csproj文件所在目录,执行以下命令:dotnet ef migrations add initial -v - 补装VS组件
打开VS Installer,在单个组件中确认已安装「NuGet包管理器」、「Entity Framework 6工具」,缺失则补装后重启VS。 - 清除NuGet缓存
删除当前Windows用户目录下的.nuget缓存文件夹,重新还原项目所有NuGet包后重试。
内容的提问来源于stack exchange,提问作者DavyGevaert
相关产品推荐
相关产品推荐

