调用 GetApplicationDefaultAsync() 时发生 AggregateException
AggregateException when calling GetApplicationDefaultAsync()
我正在尝试 运行 sample 愿景 API 项目。我基本上是将代码 Program.cs
复制并粘贴到我的应用程序中并执行它。
这一行(即第 36-#37 行in Program.cs
)
GoogleCredential credential = GoogleCredential.GetApplicationDefaultAsync().Result;
在 mscorlib.dll
和 Additional information: One or more errors occurred.
中抛出一个 System.AggregateException
。
通过检查 InnerException
,我发现实际抛出的异常是 InvalidOperationException
和 Error deserializing JSON credential data.
。
尽管如此,我的云项目是一个基本项目,有一个服务帐户,启用了 Cloud Vision API,没有别的。我检查了我的环境变量是否设置为 JSON 文件,方法是:
Console.WriteLine(Environment.GetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS"));
在上一行之前。那个(就在崩溃之前)的输出是(类似于):
C:\Users\me\Documents\Projects\MyProject\MyProject-ba31aae6efa1.json
我检查了文件,这是我启用服务帐户时得到的文件。其中的每个 属性 看起来都不错(即项目名称正确,路径正确,...)。
我安装了 Google Cloud SDK 并执行 gcloud beta auth application-default login
并授权访问我的云帐户。
关于可能导致此问题的原因有什么想法吗?
通过检查详细的构建日志,我发现 Google API 的包依赖于 Newtonsoft.Json
版本 9.0.1
(撰写本文时最新版本).
无论出于何种原因,Google API 包 对 Newtonsoft.Json
版本 7.0.0
具有依赖性(与它们一起安装) .
软件包版本错误!
安装最新版本(9.0.1
在这种情况下)解决了这个问题。
我正在尝试 运行 sample 愿景 API 项目。我基本上是将代码 Program.cs
复制并粘贴到我的应用程序中并执行它。
这一行(即第 36-#37 行in Program.cs
)
GoogleCredential credential = GoogleCredential.GetApplicationDefaultAsync().Result;
在 mscorlib.dll
和 Additional information: One or more errors occurred.
中抛出一个 System.AggregateException
。
通过检查 InnerException
,我发现实际抛出的异常是 InvalidOperationException
和 Error deserializing JSON credential data.
。
尽管如此,我的云项目是一个基本项目,有一个服务帐户,启用了 Cloud Vision API,没有别的。我检查了我的环境变量是否设置为 JSON 文件,方法是:
Console.WriteLine(Environment.GetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS"));
在上一行之前。那个(就在崩溃之前)的输出是(类似于):
C:\Users\me\Documents\Projects\MyProject\MyProject-ba31aae6efa1.json
我检查了文件,这是我启用服务帐户时得到的文件。其中的每个 属性 看起来都不错(即项目名称正确,路径正确,...)。
我安装了 Google Cloud SDK 并执行 gcloud beta auth application-default login
并授权访问我的云帐户。
关于可能导致此问题的原因有什么想法吗?
通过检查详细的构建日志,我发现 Google API 的包依赖于 Newtonsoft.Json
版本 9.0.1
(撰写本文时最新版本).
无论出于何种原因,Google API 包 对 Newtonsoft.Json
版本 7.0.0
具有依赖性(与它们一起安装) .
软件包版本错误!
安装最新版本(9.0.1
在这种情况下)解决了这个问题。