ASP.NET Core Razor Pages脚手架生成时Microsoft.EntityFrameworkCore加载错误求助
解决ASP.NET Core 2.1 Razor Pages脚手架命令中EntityFrameworkCore版本不匹配问题
我最近在跟着微软的ASP.NET Core 2.1 Razor Pages教程学习,到「添加模型」章节执行脚手架命令的时候踩了个坑:
- 运行
dotnet aspnet-codegenerator razorpage时,突然弹出Microsoft.EntityFrameworkCore程序集版本不匹配的加载错误 - 有意思的是,我之前执行
Add-Migration Initial命令是完全没问题的,就卡在这个脚手架命令上了
排查过程
一开始我以为是命令参数写错了,反复核对教程步骤都没问题。后来仔细扒错误日志,发现是版本依赖的锅——应该是VS2017更新之后,项目里的NuGet包依赖被搞乱了,新旧版本的EF Core组件冲突,导致程序集加载失败。
解决方法
试了清理NuGet缓存、重新安装依赖都没搞定,最后索性新建了一个同版本的ASP.NET Core 2.1 Razor Pages项目,把原项目的代码和配置迁移过去,再执行dotnet aspnet-codegenerator razorpage命令,居然直接成功了!
内容的提问来源于stack exchange,提问作者OPM eStudio




