我有一个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"}
请帮助我。
答案 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。