JsonConvert 在 Newtonsoft.Json Asp.net MVC C# 中不起作用

问题描述

我正在使用 Newtonsoft.Json.JsonConvert 但错误如下:

类型 'JsonConvert' 存在于'Newtonsoft.Json, 版本=9.0.0.0,文化=中性,PublicKeyToken=30ad4fe6b2a6aeed'和 'Newtonsoft.Json,版本=12.0.0.0,文化=中性, PublicKeyToken=30ad4fe6b2a6aeed'

给出的错误图像

enter image description here

这是我做过的事情:

  1. 我已经构建了项目 Build -> Clean 然后 Build -> Rebuild
  2. 我右键单击项目和卸载的项目,然后重新加载项目
  3. 我曾经删除并重新安装了Newtonsoft.Json

以上都做了,问题还是没有解决,怎么办? 我使用 .net 4.6.1

在 web.config(运行时标记)中

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f"/>
        <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/>
        <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="0.0.0.0-5.2.4.0" newVersion="5.2.4.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

解决方法

发生这种情况是因为您的项目本身包含 Newtonsoft JSON library with version Aone of the other project it reference also contains Newtonsoft JSON library version B

尝试为两个项目引用一个版本。

你可以试试

  1. 删除旧的,最好(从项目之一)
  2. 清理并重建整个解决方案
  3. 解决新引用

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...