C# 如何修复json.net(Newtonsoft.json)运行时文件加载异常

C# 如何修复json.net(Newtonsoft.json)运行时文件加载异常,c#,.net,json.net,fileloadexception,C#,.net,Json.net,Fileloadexception,每次运行项目时,我都会遇到以下异常: 中发生类型为“System.IO.FileLoadException”的异常 mscorlib.dll,但未在用户代码中处理 其他信息:无法加载文件或程序集“Newtonsoft.Json,Version=4.5.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6eed”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(来自HRESULT的异常:0x8013100) 我尝试了在网上找到的几乎所有解决方案 我

每次运行项目时,我都会遇到以下异常:

中发生类型为“System.IO.FileLoadException”的异常 mscorlib.dll,但未在用户代码中处理 其他信息:无法加载文件或程序集“Newtonsoft.Json,Version=4.5.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6eed”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(来自HRESULT的异常:0x8013100)

我尝试了在网上找到的几乎所有解决方案

我的packages.config文件:

<package id="Newtonsoft.Json" version="8.0.2" targetFramework="net451" />

and this in web.config file:
 <assemblyIdentity name="Newtonsoft.Json" PublicKeyToken="30ad4fe6b2a6aeed"  />
        <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="5.0.8"/>
      </dependentAssembly>

我还可以尝试什么?

更改绑定重定向newVersion和oldVersion,以匹配您尝试使用的Json.net版本:

  <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" PublicKeyToken="30ad4fe6b2a6aeed"  />
    <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0"/>
  </dependentAssembly>


4.5是框架版本,不是Json.net版本

谢谢大家,我发现了问题。当我把它放到web.config中时,我没有添加culture=“neutral”

<dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" PublicKeyToken="30ad4fe6b2a6aeed"  />
    <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0"/>
  </dependentAssembly>

我遇到了这个问题,经过仔细检查,我意识到Newtonsoft以某种方式被添加了两次作为

<dependentAssembly>..</dependentAssembly>
。。

在我的web.config文件中。我有8.0版和9.0版的条目。我相信第二个条目是在我从8.0升级到9.0时创建的。自动创建了一个新条目,但是没有删除旧条目。

我遇到了同样的问题,我刚刚为我的项目安装了Nuget软件包“Newtonsoft.json”。它得到了解决

我不确定,但也不起作用。我只是检查了Json.NET 8.0.2
typeof(JsonSerializer)。Assembly.FullName
Version=8.0.0
。所以,试试这个。另请参见。当然,该答案中的版本号不适用于Json.NET 8.0.2。关于版本号,您是对的,我在尝试重新安装时收到了以下消息:已成功将“Newtonsoft.Json 8.0.2”添加到Prodb1。但是在运行时仍然会出现异常。我仍然有异常。这和这条消息有什么关系吗?无法加载visual studio 2013\Projects\Prodb1\packages\Newtonsoft.Json.8.0.2\tools\install.ps1文件,因为在此系统上禁用了正在运行的脚本。是否仍保留其他信息,或者是否已更改?是否可以将代码作为共享文件共享。目前,我无法在本地重现您的确切场景。
<dependentAssembly>..</dependentAssembly>