Kentico 13 应用最新热修复后出现AngleSharp程序集加载失败问题
AngleSharp程序集版本不匹配问题解决方法
应用v13.151热修复后,重建解决方案成功,但启动管理站点时触发以下错误:
Could not load file or assembly 'AngleSharp' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.
系统检测到需要v17版本的AngleSharp,但本地仅安装v14,且热修复日志未提及相关版本重定向配置。
解决步骤:
- 排查依赖链:右键项目→管理NuGet程序包,在“已安装”标签下找到AngleSharp,查看其依赖项是否有其他包间接引用了v17版本。也可使用NuGet包管理器的“依赖项”视图,追踪所有关联的AngleSharp引用。
- 添加版本重定向配置:在项目的
Web.config(Web项目)或App.config(桌面项目)中添加程序集绑定重定向,将v17的请求指向已安装的v14版本。示例配置:
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="AngleSharp" publicKeyToken="e83494dcdc6d31ea" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-17.0.0.0" newVersion="14.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime>
注意:newVersion需替换为你实际安装的AngleSharp版本号,publicKeyToken需与本地程序集的公钥令牌一致(可通过右键程序集→属性→详细信息查看)。
- 彻底清理重建:执行“清理解决方案”,删除项目目录下的
bin和obj文件夹,再重新生成解决方案,避免残留旧程序集文件干扰。 - 检查热修复修改的文件:查看热修复更新的项目文件(.csproj)或配置文件,确认是否有未在日志中说明的依赖版本变更,可能热修复后台修改了这些配置导致版本冲突。
内容的提问来源于stack exchange,提问作者rory
相关产品推荐
相关产品推荐

