我的项目使用newtonsoft.json.dll。我添加了DLL作为对我的项目的参考,并使用版本8.0.2
使用所有内容都在我的PC上起作用,但是当我将所有内容与Newtonsoft.json.dll一起转移到新PC时,我会收到错误
无法加载文件或汇编'newtonsoft.json,版本= 4.0.3.0, culture =中性,publicKeyToken = 30ad4fe6b2a6aeed'或其中之一 依赖性。系统找不到指定的文件。
我不会在任何地方引用该版本,我的app.config中没有任何指定。
上一个答案将帮助您跟踪问题。当一些引用的库明确指定了它支持的库版本时,就会发生这种情况。幸运的是,您可以在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>
我将在启动项目的bin目录中检查newtonsoft.json的版本。如果newtonsoft.json在那里,它是您期望的版本,则可以使用fuslogvw(https://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.110).aspx)加载程序试图从中获取4.0.3.0版本的位置。这可能会使您了解运行时为什么要寻找其他版本。
希望会有所帮助。