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

Newtonsoft.Json与NJsonSchema依赖冲突报CS1705错误如何解决?

问题原因
  • 核心是传递依赖版本冲突+类库项目默认未开启程序集绑定重定向:
    你使用的NJsonSchema 10.5.2版本,本身编译时依赖的是Newtonsoft.Json 12.0.0版本区间的包。虽然你在项目中显式引用了更高的13.0.1版本,但类库项目默认不会自动生成程序集绑定重定向规则,运行时NJsonSchema仍然会尝试加载12.0.0版本的Newtonsoft.Json,和你项目代码使用的13版本存在冲突,因此触发CS1705错误。
  • 次要可能原因:你的项目依赖树中还存在其他未显式标注的第三方组件,同样依赖Newtonsoft.Json 12.0.0版本,进一步加剧了版本解析冲突。
解决方案
  1. 开启类库项目自动绑定重定向:在项目的.csproj文件的<PropertyGroup>节点中添加以下配置即可:
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>

配置后重新生成项目,系统会自动生成绑定重定向规则,将所有Newtonsoft.Json的引用都指向你安装的13.0.1版本。

  1. 升级NJsonSchema版本:NJsonSchema从10.6.0版本开始已经原生支持Newtonsoft.Json 13,你可以直接将NJsonSchema升级到10.6.0或更高版本,从根源解决版本依赖不匹配问题。

  2. 手动添加绑定重定向:你也可以在类库项目中新增app.config文件,手动添加Newtonsoft.Json的版本重定向规则:

<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>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:39:03