.NET Core 未找到 GoogleWebAuthorizationBroker 异常

GoogleWebAuthorizationBroker not found exception with .NET Core

我正在尝试访问 Google 驱动器 API,我可以使用 Google+ API 成功登录用户。我一直在关注这个指南:

https://developers.google.com/drive/v3/web/quickstart/dotnet

我用 nuget 包管理器添加了所需的库,但它仍然找不到 GoogleWebAuthorizationBroker class。奇怪的是,当我将相同的 Google.Apis.Auth 包版本 1.18.0 添加到一个简单的控制台应用程序时,它可以完美运行,但是当我将它添加到我的 .NET Core 1.0 预览版 2 项目时,它根本无法识别前面提到的 class.

包含添加包的屏幕截图:

我的 .NET Core 源代码(这里找不到 class):

我的控制台应用程序源代码和参考资料(class 出于某种原因可以在这里找到):

提前致谢!

您的控制台应用程序运行正在完整的 .net 框架上运行。这就是 GoogleWebAuthorizationBroker 在那里得到解决的原因。

我在针对 .net 核心的 Google.Apis 方面遇到了同样的问题,我最终 运行 在完整的 .net 框架之上构建了 asp.net 核心项目。当 Google 组件工作时,我计划将框架切换回 .net 核心。

我用这样的 461 框架替换了 dotnet 框架:

"frameworks": {
    "net461":  {}
  }

而且我还不得不像这样评论 out/remove 对 Microsoft.NETCore.App 的依赖:

  "dependencies": {
    "Google.Apis": "1.19.0",
    "Google.Apis.Auth": "1.19.0",
    "Google.Apis.Calendar.v3": "1.19.0.675"
    //"Microsoft.NETCore.App": "1.1.0-preview1-001100-00",
  },

您也可以 运行 针对这两个框架 - 我试过这样做,当您发布网站时,您会

DOTNET PUBLISH -f 461  

DOTNET PUBLISH -f netcoreapp1.0

取决于框架。 然后,您还必须从 visual studio 的下拉列表中 select,您 运行 反对的框架,这最终成为一个更大的问题。更容易在不需要时注释掉 dotnetcore1.0 框架,然后在我的构建管道上发布 dotnet ...

Google .net apis github 页面上有一个关于 .net 核心兼容性的帖子。 https://github.com/google/google-api-dotnet-client/issues/872#issuecomment-259710682

这些 类 的预期支持估计在 2017 年初。

希望对您有所帮助?