如何解决C# ASP.Net中Newtonsoft.Json绑定重定向失效问题?
解决Stripe NuGet更新后Newtonsoft.Json版本冲突问题
针对你遇到的绑定重定向配置后仍提示需要Newtonsoft.Json 9.0.0.0的问题,可以尝试以下步骤:
确认绑定重定向位置正确
确保你的<dependentAssembly>节点嵌套在<configuration>下的<runtime>节点内部,正确结构如下:<configuration> <!-- 其他配置内容 --> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> <!-- 其他配置内容 --> </configuration>绑定重定向失效常因未放在
<runtime>节点内导致。清理项目残留并重新生成
- 右键解决方案,选择「清理解决方案」
- 手动删除项目根目录下的
bin和obj文件夹,彻底清除旧版本程序集 - 右键解决方案,选择「重新生成解决方案」
统一所有项目的Newtonsoft.Json版本
若为多项目解决方案,需确保所有项目使用相同版本的Newtonsoft.Json:- 打开NuGet包管理器,检查各项目的Newtonsoft.Json安装版本
- 将版本不一致的项目统一更新至13.0.0.0
- 在包管理器控制台执行
Update-Package Newtonsoft.Json -Reinstall,强制重新安装并自动更新绑定重定向
检查程序集引用属性
右键项目「引用」-> 找到Newtonsoft.Json:- 查看「属性」中的「版本」是否为13.0.0.0
- 确认「复制本地」设置为
True,保证发布时正确版本的dll会被复制到输出目录
检查发布配置是否覆盖设置
若发布到服务器,需验证:- 本地发布配置文件(如
Web.Release.config)是否修改了绑定重定向规则 - 服务器上的web.config文件是否与本地一致,避免发布时配置被覆盖
- 本地发布配置文件(如
内容的提问来源于stack exchange,提问作者user1120058
相关产品推荐
相关产品推荐

