{"无法加载文件或程序集'Newtonsoft.Json,版本=4.5.0.0,文化=中性,Publi

本文关键字:版本 文化 Publi 中性 Json quot 加载 文件 程序集 Newtonsoft | 更新日期: 2023-09-27 18:05:15

我有一个数据库第一个VS2012 Express的MVC4应用程序,但当运行应用程序给定的错误:

{"无法加载文件或程序集" Newtonsoft。Json、Version = 4.5.0.0文化=中性,PublicKeyToken=30ad4fe6b2a6aeed'或其之一依赖关系。定位的程序集的清单定义不会匹配程序集引用。(来自HRESULT的例外:0 x80131040)":"Newtonsoft。Json,版本=4.5.0.0,文化=中性,都30 ad4fe6b2a6aeed"}

谁来帮帮我

{"无法加载文件或程序集'Newtonsoft.Json,版本=4.5.0.0,文化=中性,Publi

在View> Other> Package Manager控制台中写入:

Install-Package Newtonsoft.Json  

解决方案之一是在App.config

中使用bindingRedirect
<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
       <dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1">
          <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

请注意,' oldversion '和' newversion '可能不完全正确,因为我不知道在您的情况下实际使用的是哪个版本。基本上,你告诉运行时,使用'newVersion'中描述的版本,无论找到哪个版本(只要找到的版本在'oldVersion'范围内)

我自己也有过这种错误。我打赌你正在使用另一个程序集,它引用了Newtonsoft.Json的特定版本。这并不是说组件丢失了,它只是没有正确的组件版本来满足第三方组件的参考。如果您自己直接引用程序集,请将您的引用降级为与第三方库相同的版本,或升级第三方库,使其引用具有与您的版本相同的版本。

当引用不同版本的dll时,会出现此错误。如果是这种情况,那么使用Andro提到的bindingRedirect。