Visual Studio 2019网站运行失败:Ext.Net.Utilities程序集加载异常求助
解决Ext.Net与Ext.Net.Utilities版本不匹配导致的程序集加载失败问题
这种程序集版本不匹配的问题我碰到过好多次,别着急,咱们一步步来排查解决:
检查并添加程序集绑定重定向(最常见的根源)
你的问题核心是Ext.Net 2.3.1.41036在找旧版本的Ext.Net.Utilities(2.3.0.0),但你已经更新了新版本,所以需要通过绑定重定向告诉.NET运行时用新版本替代旧版本:- 打开项目的
web.config文件 - 找到
<runtime>节点(如果没有就手动添加),然后在里面加入以下配置:<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Ext.Net.Utilities" publicKeyToken="2c34ac34702a3c23" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-2.3.1.99999" newVersion="你当前安装的Ext.Net.Utilities版本号" /> </dependentAssembly> </assemblyBinding> - 把
newVersion替换成你实际安装的Ext.Net.Utilities版本号(可在NuGet包管理界面查看具体版本)
- 打开项目的
确认项目引用和NuGet包的一致性
- 右键项目 → 「管理NuGet程序包」,检查
Ext.Net和Ext.Net.Utilities的版本是否匹配,有没有出现版本不一致的情况 - 查看项目的「引用」列表,找到
Ext.Net.Utilities,右键查看属性,确认版本号是你安装的最新版;如果有黄色感叹号,说明引用失效,直接卸载该NuGet包后重新安装
- 右键项目 → 「管理NuGet程序包」,检查
彻底清理并重建项目
旧程序集残留很容易导致这类问题,按以下步骤操作:- 点击菜单栏的「生成」→「清理解决方案」
- 手动删除项目目录下的
bin和obj文件夹(这两个文件夹里的旧编译文件经常是问题根源) - 重新生成解决方案,让系统重新复制最新的程序集到输出目录
检查全局程序集缓存(GAC)中的旧版本
如果你的系统GAC里存在旧版本的Ext.Net.Utilities,.NET运行时可能会优先加载这个版本:- 以管理员身份打开命令提示符
- 运行命令
gacutil /l Ext.Net.Utilities,查看是否有版本2.3.0.0的程序集 - 如果存在,运行命令
gacutil /u Ext.Net.Utilities,Version=2.3.0.0,PublicKeyToken=2c34ac34702a3c23卸载旧版本
手动复制程序集到输出目录
如果以上方法都无效,可以尝试手动复制最新的程序集:- 在你的项目的
packages文件夹里找到Ext.Net.Utilities的安装目录,找到对应的Ext.Net.Utilities.dll文件(通常在lib\net4x子目录下) - 把这个dll文件复制到项目的
bin目录下,覆盖原有的文件
- 在你的项目的
内容的提问来源于stack exchange,提问作者BroonCard
相关产品推荐
相关产品推荐

