Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用JSON.NET时出错_C#_Json_Json.net - Fatal编程技术网

C# 使用JSON.NET时出错

C# 使用JSON.NET时出错,c#,json,json.net,C#,Json,Json.net,我正在尝试使用JSON.NET,在包含.dll并尝试使用其中一种方法后,我得到了以下错误: 无法加载文件或程序集“Newtonsoft.Json.Net35,版本=4.0.0.0,区域性=中性,PublicKeyToken=30AD4FE6B2A6EED”或其依赖项之一。系统找不到指定的文件 知道我为什么会出现这个错误吗?需要检查两件事: (1) 您可能必须“取消阻止”DLL。默认情况下,当您从Internet下载.zip文件时,该文件以及从该.zip文件中提取的所有.dll或.exe文件都会被

我正在尝试使用JSON.NET,在包含.dll并尝试使用其中一种方法后,我得到了以下错误:

无法加载文件或程序集“Newtonsoft.Json.Net35,版本=4.0.0.0,区域性=中性,PublicKeyToken=30AD4FE6B2A6EED”或其依赖项之一。系统找不到指定的文件

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

需要检查两件事:

(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项目?

在我的例子中,当我意识到我使用的库本身使用的是Json.NET,但使用的是早期版本(3.5)时,我解决了这个问题。将第二个库链接到新的Json.NET版本解决了这个问题


希望这有帮助。

您需要下载的版本1而不是版本2。

尝试将程序集绑定重定向添加到应用程序配置,如:

<?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>


您是如何包含.dll的?你添加了一个引用了吗?是的,只是像我一直做的那样添加了一个引用。在Windows7中没有取消阻止选项,但其他一切看起来都很好。我的控制台项目是为3.5框架设置的。@ryanzec-您可以使用“caspol.exe”实用程序“解除阻止”它。这是用.NET 2.0安装的。它通常位于“C:\Windows\Microsoft.NET\Framework\v2.0.50727”下。您可能已经安装了此功能。;-)似乎不是解除阻止的问题。您还可以在解压之前对zip文件执行“解除阻止”。