MVC5项目数据层执行Enable-Migration报错,主项目可正常启用迁移,如何解决?
解决MVC5数据层
Enable-Migrations报错问题 问题根源
项目同时存在EntityFramework 6.1.3和6.4.4两个版本,PowerShell脚本从6.1.3路径执行时,却尝试加载6.4.4版本的工具dll,导致文件找不到错误。
解决步骤
- 统一EF版本:
- 在NuGet包管理器控制台执行
Uninstall-Package EntityFramework -Force,彻底卸载主项目和数据层的所有EF版本。 - 重新安装同一版本的EF,推荐安装6.4.4:
Install-Package EntityFramework -Version 6.4.4,确保所有项目引用版本完全一致。
- 在NuGet包管理器控制台执行
- 校验配置文件:
检查数据层的App.config和主项目的Web.config,删除残留的旧版本EF配置项,保证配置与安装版本匹配。 - 重新执行迁移命令:
在NuGet控制台先执行Set-ProjectName 你的数据层项目名称切换到目标项目,再执行Enable-Migrations(按需添加-EnableAutomaticMigrations等参数)。 - 清理NuGet缓存(若上述步骤无效):
执行dotnet nuget locals all --clear,清除缓存后重新安装EF包,再重试迁移命令。
补充排查点
若问题仍存在,删除项目packages目录下多余的旧版本EntityFramework文件夹,重新生成整个解决方案后再执行迁移命令。
内容的提问来源于stack exchange,提问作者reza
相关产品推荐
相关产品推荐

