Assembly Binder Log解读:版本重定向后仍查找12.0.0.0故障原因
程序集绑定仍查找Newtonsoft.Json 12.0.0.0版本的常见原因
- 绑定重定向配置错误或被覆盖
检查应用配置文件(app.config/web.config)中dependentAssembly节点配置:确认oldVersion属性的范围包含12.0.0.0,newVersion明确设置为12.0.3.0。同时确认当前运行环境没有更高层级的配置文件(如服务器上的IIS全局配置、发布流程自动生成的转换配置)覆盖了你本地的重定向规则。 - 第三方依赖项强签名锁定版本
若项目引用的其他第三方程序集本身为强签名程序集,且编译时绑定了Newtonsoft.Json 12.0.0.0版本,该依赖项的加载逻辑会优先触发版本校验,绕过你项目中配置的全局绑定重定向。 - GAC存在冲突版本规则
检查全局程序集缓存(GAC)中是否存在Newtonsoft.Json相关的版本配置,运行时加载程序集会优先匹配GAC中的规则,找不到对应版本时会直接抛出异常,不会应用本地项目的重定向配置。 - 手动加载逻辑跳过重定向
若代码中使用Assembly.LoadFrom、Assembly.LoadFile等方法手动加载Newtonsoft.Json程序集,这类加载逻辑会直接按照传入的版本参数查找,跳过默认的绑定重定向流程。 - 生成目录残留旧文件
完全清理项目的bin、obj目录后重新生成解决方案,避免目录中残留旧版本的Newtonsoft.Json.dll或未更新的配置文件,导致运行时读取到错误的版本信息。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

