VS2015项目执行dnx ef命令报错0x80131500求解决
解决VS2015中执行
dnx ef migrations add setup时的HRESULT:0x80131500错误 这个错误在VS2015的ASP.NET 5(早期的ASP.NET Core)项目里挺常见的,本质是DNX运行时无法正确加载EF迁移所需的依赖组件。我整理了几个最可能的原因和对应的解决办法:
1. 依赖包版本不匹配或未正确还原
VS2015时期的EF命令依赖和DNX运行时版本绑定得很紧密,如果你的project.json里EF相关包的版本和项目指定的DNX版本不一致,就会触发这个加载错误。
- 检查步骤:打开项目的
project.json文件,对比dependencies节点下的EntityFramework.Commands、EntityFramework.MicrosoftSqlServer(或你使用的其他数据库Provider)版本,和frameworks节点里dnx451/dnxcore50对应的DNX版本是否匹配。 - 解决办法:
- 在命令提示符中执行
dnvm list查看本地已安装的DNX版本,确保项目指定的版本存在; - 切换到对应版本:
dnvm use <你的DNX版本号> -p; - 重新还原所有依赖:
dnu restore,等待还原完成后再重新执行迁移命令。
- 在命令提示符中执行
2. DNX运行时环境配置异常
有时候当前命令行使用的DNX版本和项目要求的版本不匹配,或者DNX运行时本身存在损坏,也会导致依赖加载失败。
- 解决办法:
- 执行
dnvm uninstall <错误版本>卸载有问题的DNX版本,再用dnvm install <项目指定版本>重新安装; - 尝试修复VS2015的安装(通过控制面板的程序和功能,选择VS2015后点击“更改”→“修复”),确保DNX相关组件完整。
- 执行
3. 项目配置文件损坏或语法错误
project.json的语法错误(比如遗漏逗号、括号不匹配)会导致DNX无法正确解析依赖配置,进而触发加载错误。
- 解决办法:
- 仔细检查
project.json的语法,对比一个正常的ASP.NET 5项目配置文件结构; - 清理项目的
bin和obj文件夹,然后重新执行dnu restore和dnx build。
- 仔细检查
4. 文件锁定或权限问题
VS进程或者其他后台程序可能锁定了依赖文件,导致DNX无法读取;或者命令提示符没有足够权限访问相关文件。
- 解决办法:
- 关闭所有VS窗口和相关进程,用管理员权限打开命令提示符;
- 删除用户目录下
.dnx文件夹里的缓存文件,然后重新执行dnu restore。
内容的提问来源于stack exchange,提问作者thompsonrapier
相关产品推荐
相关产品推荐

