使用.NET Core时未发现GoogleWebAuthorizationBroker异常

时间:2016-11-04 19:27:25

标签: c# asp.net google-api asp.net-core .net-core

我尝试访问Google云端硬盘API,我可以使用Google+ API成功登录用户。我一直在关注本指南:

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

我使用nuget包管理器添加了所需的库,但仍无法找到GoogleWebAuthorizationBroker类。奇怪的是,当我将相同的Google.Apis.Auth软件包版本1.18.0添加到一个简单的控制台应用程序时,它可以完美地工作,但当我将它添加到我的.NET Core 1.0预览2项目时,它只是赢得了#39;认识到上述课程。

包含添加的包的屏幕截图: enter image description here

我的.NET Core源代码(此处未找到类): enter image description here

我的控制台应用程序源代码和引用(这个类可以在这里找到):

enter image description here

enter image description here

提前致谢!

1 个答案:

答案 0 :(得分:2)

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

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

我用461框架替换了dotnet框架,如下所示:

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

我还必须注释/删除对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中的下拉列表中选择您运行的框架,这最终会成为一个问题。更容易在不需要时注释掉dotnetcore1.0框架,只需在我的构建管道上发布dotnet发布......

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

预计2017年初将对这些课程提供支持。

希望对你有所帮助吗?