C#' Google.Apis.Json.NewtonsoftJsonSerializer'的类型初始化程序。抛出一个例外

时间:2015-08-04 03:56:30

标签: c# google-api

我正在使用google apis编写winform应用程序。我刚刚添加了youTube v3 api,现在我收到了错误:

  

未处理的类型' System.TypeInitializationException'   发生在Google.Apis.Auth.dll

中      

附加信息:类型初始化程序   ' Google.Apis.Json.NewtonsoftJsonSerializer'抛出异常。

内在的例外是:

  

{"无法加载文件或程序集' Newtonsoft.Json,Version = 7.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed'或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)":" Newtonsoft.Json,Version = 7.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed"}

我一直试图解决这个问题一个小时,所以任何建议都值得赞赏。

我使用的是所有NuGet软件包的最新版本,没有可用的更新。

我使用的apis是: https://www.nuget.org/packages/Google.Apis.Drive.v2/ https://www.nuget.org/packages/Google.Apis.YouTube.v3/

2 个答案:

答案 0 :(得分:3)

我找到了答案,我不小心删除了对Newtonsoft.Json包的引用,当我把它添加回来时,我以某种方式从不同项目的包而不是我的项目包中选择了一个旧版本。

一旦我从当前的项目包中添加了正确的dll,一切正常。

答案 1 :(得分:0)

我遇到了这个错误。我使用的是Visual Studio 2017,并且安装了Newtonsoft.Json的当前版本(当时)(11.0.2)。当我安装当前版本的Google.Apis(1.35.1)时,收到错误消息“ Google.Apis.Json.NewtonsoftJsonSerializer的类型初始化器抛出异常”。查看内部异常信息时,我发现Google.Apis期望使用Newtonsoft.Json版本10。我删除了Newtonsoft和Google.Apis,然后通过nuget重新安装了google.apis。 Newtonsoft.Json的版本10也已自动安装,错误消失了。

如果任何人也遇到此错误,请确保已实际安装Google.Apis期望的Newtonsoft版本。