{"无法加载文件或程序集' Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed'或其中一个依赖项

时间:2015-07-29 11:40:13

标签: c# asp.net asp.net-mvc-4

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

  

{"无法加载文件或程序集' Newtonsoft.Json,Version = 4.5.0.0,   Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed'或其中一个   依赖。定位程序集的清单定义没有   匹配程序集引用。 (HRESULT的例外情况:   0x80131040)":" Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,   公钥= 30ad4fe6b2a6aeed"}

请帮助我。

4 个答案:

答案 0 :(得分:1)

在视图中>其他>包管理器控制台写:

Install-Package Newtonsoft.Json  

答案 1 :(得分:1)

其中一个解决方案也是使用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>

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

答案 2 :(得分:0)

我自己也有这种错误。我打赌你正在使用另一个引用特定版本的Newtonsoft.Json的程序集。这不是装配丢失,而是装配的正确版本不能满足第三方装配的参考。如果您自己直接引用程序集,请将引用降级为与第三方库相同的版本,或者升级第三方库,以使其引用与您的版本相同。

答案 3 :(得分:0)

有时这个错误会在有不同版本的dll被引用时给出。如果是这种情况,那么使用Andro提到的bindingRedirect。

相关问题