You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决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>节点内导致。

  • 清理项目残留并重新生成

    1. 右键解决方案,选择「清理解决方案」
    2. 手动删除项目根目录下的bin和obj文件夹,彻底清除旧版本程序集
    3. 右键解决方案,选择「重新生成解决方案」
  • 统一所有项目的Newtonsoft.Json版本
    若为多项目解决方案,需确保所有项目使用相同版本的Newtonsoft.Json:

    1. 打开NuGet包管理器,检查各项目的Newtonsoft.Json安装版本
    2. 将版本不一致的项目统一更新至13.0.0.0
    3. 在包管理器控制台执行Update-Package Newtonsoft.Json -Reinstall,强制重新安装并自动更新绑定重定向
  • 检查程序集引用属性
    右键项目「引用」-> 找到Newtonsoft.Json:

    • 查看「属性」中的「版本」是否为13.0.0.0
    • 确认「复制本地」设置为True,保证发布时正确版本的dll会被复制到输出目录
  • 检查发布配置是否覆盖设置
    若发布到服务器,需验证:

    • 本地发布配置文件(如Web.Release.config)是否修改了绑定重定向规则
    • 服务器上的web.config文件是否与本地一致,避免发布时配置被覆盖

内容的提问来源于stack exchange,提问作者user1120058

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 03:12:18