Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.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# 无法使用google api加载文件或程序集“Newtonsoft.Json,Version=6.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6eed”_C#_Json_Dll_Json.net - Fatal编程技术网

C# 无法使用google api加载文件或程序集“Newtonsoft.Json,Version=6.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6eed”

C# 无法使用google api加载文件或程序集“Newtonsoft.Json,Version=6.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6eed”,c#,json,dll,json.net,C#,Json,Dll,Json.net,在我的项目中,我使用了Newtonsoft.Json 11.0.2版库,我需要使用Google.Api和Google.Core,但在安装这两个库时,我收到下一个错误: System.IO.FileLoadException:'无法加载文件或程序集 'Newtonsoft.Json,版本=6.0.0.0,区域性=中性, PublicKeyToken=30AD4FE6B2A6EED'或其依赖项之一。这个 定位程序集的清单定义与程序集不匹配 参考来自HRESULT的异常:0x8013100' 这个错误

在我的项目中,我使用了Newtonsoft.Json 11.0.2版库,我需要使用Google.Api和Google.Core,但在安装这两个库时,我收到下一个错误:

System.IO.FileLoadException:'无法加载文件或程序集 'Newtonsoft.Json,版本=6.0.0.0,区域性=中性, PublicKeyToken=30AD4FE6B2A6EED'或其依赖项之一。这个 定位程序集的清单定义与程序集不匹配 参考来自HRESULT的异常:0x8013100'

这个错误是因为Google.Core使用的是newtonsoft.json 12.0.3版本,而在我的项目中我使用的是11.0.2版本

当生成内置输出时,我可以看到下一个错误:

NU1605:检测到包降级:Newtonsoft.Json从12.0.3降级到 11.0.2. 直接从项目中引用包以选择其他版本。MyProject->Google.api.Oauth2.v2 1.48.0.1869-> Google.api.Auth 1.48.0->Google.api.Core 1.48.0->Newtonsoft.Json >=12.0.3 MyProject->Newtonsoft.Json>=11.0.2


如何修复此错误?

能否尝试将程序包更新到项目中的最新版本?尝试从项目中删除Newtonsoft.Json 11.0.2的所有引用,并从Nuget安装最新更新。希望能起作用。

按照错误消息的指示执行操作。您应该在所有项目中引用想要使用的Newtonsoft.Json包,或者至少需要12.0.3。这将覆盖该项目中其他引用包的依赖关系。我尝试了这个,但是web设计不起作用。我可以解决这个错误,但我收到另一个错误时,加载网页。我的代码与新版本不兼容。@Ralf是正确的。您应该将所有引用更改为12.0.3,因为这是运行这些GoogleNuget包所需要的。因为这会导致您的代码与新版本不兼容,所以您需要修复代码。如果你的代码不能与新版本一起工作,那么你的代码就不能与谷歌软件包一起工作。所以你只需要更新和修复你的代码。没办法。谢谢@Ralf和dogyear的回答。问题是我有很多代码,我想找到另一个解决方案,不触摸或触摸尽可能少的代码。有什么办法解决这个问题吗?我看到自己正在修改很多代码:--;没有简单的方法。使用nuget软件包时,您需要始终关注它们的依赖关系。在这里,Json.Net是一个典型的候选者。许多nuget软件包都将其作为依赖项,然后在不同的版本中使用。如果你只是让它去或多或少的随机版本大概是一个错误的一个,这将最终在您的输出文件夹。您需要检查包的依赖关系。查找所有包都可以使用的版本,并从项目中引用该版本。