运行选定代码生成器时遇Microsoft.EntityFrameworkCore程序集加载错误求助
解决Microsoft.EntityFrameworkCore程序集版本不匹配错误
执行代码生成器时遇到的错误:
无法加载文件或程序集“Microsoft.EntityFrameworkCore, Version=6.0.35.0,Culture=neutral, PublicKeyToken=adb9793829ddae60”。找到的程序集清单定义与程序集引用不匹配。(0x80131040)
可以通过以下步骤解决:
- 统一项目依赖版本:打开项目的NuGet包管理器,检查所有
Microsoft.EntityFrameworkCore相关的包(包括Tools、SqlServer等衍生包),确保版本全部对齐为6.0.35,不一致的包直接更新或降级到对应版本。 - 清理重建解决方案:在Visual Studio中依次执行
Clean Solution和Rebuild Solution,彻底清除旧编译产物,避免残留的低/高版本程序集干扰加载。 - 配置绑定重定向:在项目的
app.config或web.config中添加/更新绑定重定向配置,强制指向6.0.35版本:<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Microsoft.EntityFrameworkCore" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.35.0" newVersion="6.0.35.0" /> </dependentAssembly> </assemblyBinding> </runtime> - 清除NuGet本地缓存:打开命令行工具,运行
dotnet nuget locals all --clear,删除本地缓存的NuGet包后,重新还原项目依赖。 - 同步代码生成工具版本:如果使用
dotnet ef工具,先运行dotnet tool list --global查看当前版本,若与项目EF Core版本不一致,执行dotnet tool update --global dotnet-ef --version 6.0.35更新工具到对应版本。
内容的提问来源于stack exchange,提问作者Sarthak Mishra
相关产品推荐
相关产品推荐

