c# - 调用 GetApplicationDefaultAsync() 时发生 AggregateException

标签 c# google-cloud-platform google-cloud-vision

我正在尝试运行 sample视觉 API 项目。我基本上是将代码 Program.cs 复制并粘贴到我的应用程序中并执行它。

这一行(即第 36-#37 行 in Program.cs )

GoogleCredential credential = GoogleCredential.GetApplicationDefaultAsync().Result;

mscorlib.dll 中抛出一个 System.AggregateException 以及 附加信息:发生一个或多个错误。

通过检查 InnerException,我发现实际抛出的异常是 InvalidOperationExceptionError 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)可解决此问题。

关于c# - 调用 GetApplicationDefaultAsync() 时发生 AggregateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38734199/

相关文章:

amazon-web-services - 如何在 Microsoft Azure 上部署 Ultralytics YOLOv8?

python - BigQuery Python API 问题

python-2.7 - Python调整图像大小并发送到谷歌视觉功能

c# - 为什么我需要 'dummy' 行代码才能加载PresentationFramework?

c# - 如何检查所有多个表是否已更新?

c# - DetailsView.ItemInserted 事件查找主键(DataKey)

c# - 如何使用 C# 4.0 编写可扩展的套接字服务器?

google-app-engine - 如何等待 Google App Engine 操作完成?

java - Google vision API 从文件加载凭证

google-cloud-platform - Google Cloud Vision - Google 将图像上传到哪个区域?