2016-12-05 57 views
1

我的项目使用Newtonsoft.Json.dll。 我一直在使用8.0.2版大会寻找错误版本的Newtonsoft.Json.dll

一切正常,在我的电脑添加但是该DLL作为参考,我的项目和IM当我一切都随着Newtonsoft.Json.dll转移到一个新的电脑我的错误

无法加载文件或程序集“Newtonsoft.Json,版本= 4.0.3.0, 文化=中性公钥= 30ad4fe6b2a6aeed”或它 的一个依赖。该系统找不到指定的文件。

我没有在任何地方引用该版本,并且在我的app.config中没有指定此内容。

+0

多少项目解决方案是否有与其中的任何依赖JSON比启动项目等 –

回答

0

我会在启动项目的bin目录中检查Newtonsoft.Json的版本。如果Newtonsoft.Json在那里,并且它是您期望的版本,那么您可以使用Fuslogvw(https://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.110).aspx)来查看加载程序试图从中获取4.0.3.0版本的位置。这可能会让您对运行时为什么寻找不同版本有所了解。

希望有所帮助。

0

上一个答案将帮助您找出问题所在。当一些引用的库明确指定它支持的库的版本时,会发生这种情况。幸运的是,你可以覆盖的app.config绑定(见下面的例子):

<configuration> 
    <!--YOUR CONFIG --> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
</configuration>