我正在尝试使用JSON.NET并在包含.dll之后尝试使用其中一种方法我收到此错误:
无法加载文件或程序集“Newtonsoft.Json.Net35,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed”或其中一个依赖项。系统找不到指定的文件。
我知道为什么会出现这个错误吗?
答案 0 :(得分:0)
要检查两件事:
(1)您可能必须“取消阻止”DLL。默认情况下,从Internet下载.zip文件时,该文件以及从该.zip文件中提取的所有.dll或.exe文件都将获得一个文件系统属性,以防止它们加载和执行。在Windows资源管理器中右键单击DLL,选择“属性”,然后在出现的对话框中单击“取消阻止”按钮。或者更好的是,为.zip文件执行此操作,然后重新提取所有文件。
(2)Newtonsoft JSON.NET库有五种版本:.NET 2.0,3.5,4.0,Silverlight和Windows Phone各一种。您需要为您的特定环境使用正确的一个。我认为这是一个.NET 3.5项目?
答案 1 :(得分:0)
就我而言,一旦我意识到我使用的库本身就是使用Json.NET但是使用早期版本(3.5),我解决了这个问题。将第二个库链接到新的Json.NET版本解决了这个问题。
希望这有帮助。
答案 2 :(得分:0)
您需要下载版本1而不是Newtonsoft.Json的第2版。
答案 3 :(得分:0)
尝试将程序集绑定重定向添加到app config,如:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.5.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
相关帖子:
System.IO.FileNotFoundException