使用JSON.NET时出错

时间:2011-02-06 21:44:02

标签: c# json json.net

我正在尝试使用JSON.NET并在包含.dll之后尝试使用其中一种方法我收到此错误:

无法加载文件或程序集“Newtonsoft.Json.Net35,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed”或其中一个依赖项。系统找不到指定的文件。

我知道为什么会出现这个错误吗?

4 个答案:

答案 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

At least one module has an unresolved import

Debugging tests that require an external dll