【问题标题】:How to recompile Google Drive API sdk?如何重新编译 Google Drive API sdk?
【发布时间】:2013-07-23 18:20:45
【问题描述】:

这是我们的问题:如何在 dotnet 中重新编译 Google drive api sdk? => 我们没有找到源代码。 => 在二进制包中,有一个源文件没有随项目一起提供,我们不知道如何处理它。

问题原因:

在 dotnet 中,我们无法使用从 Google 下载的最新 Google Drive api dll:Google.Apis.Drive.v2

我们收到如下编译错误:

警告 10 无法解析主要参考“Google.Apis.Drive.v2”,因为它间接依赖于无法解析的框架程序集“System.Runtime,Version=1.5.11.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”在当前的目标框架中。 “.NETFramework,版本=v4.0”。要解决此问题,请删除引用“Google.Apis.Drive.v2”或将您的应用程序重新定位到包含“System.Runtime, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的框架版本。

原因: 这是因为我们在带有 dotnet framework 4.0 的 Visual Studio 2010 中。 显然 Google.Apis.Drive.v2 编译时依赖于框架 4.5。

我们无法将项目升级到 Dotnet 框架 4.5,因为我们只有 Visual Studio 2010,升级到 Visual Studio 2012 需要几个月的测试。

疑难解答 我们尝试在 app.config 文件中使用绑定重定向,但它不适用于引用需要重定向的程序集的类库项目(此处为 Google.Apis.Drive.v2)。 有关信息,如果我们将项目更改为控制台应用程序,绑定重定向工作正常,但当我们切换回类库时失败。

@Google 支持: - 我们在哪里下载 Google Drive api dll 的源代码以及如何构建它? - 你是否打算为 dotnet 4.0 发布一个库,因为强制 4.5 会阻止很多公司?

【问题讨论】:

  • 我认为“几个月的测试”夸大了这种情况。您可以将 VS 2012 与 VS 2010 并排安装,并且仅将需要 Google.Apis.Drive.v2 的项目(以及引用它的项目)更新到 .NET 4.5。您几乎可以肯定不必更改任何代码。

标签: visual-studio google-drive-api assemblies


【解决方案1】:

【讨论】:

  • 链接错误。 Google drive api的源代码在此链接中不可用。
  • 由本项目生成。您需要生成源代码,然后构建。
  • 看起来很糟糕。该项目大量使用 dotnet 4.5 新增的 Async。我们在一个需要 Google Drive API 的项目中只有一小段代码。这将强制将 7 台计算机升级到 Visual Studio 2012,并转换 50 多个项目以用于 Visual Studio 2012。谷歌:你这样做很糟糕,很糟糕。你不应该强迫你的客户执行 100 天的升级和测试,只是为了在角落里使用一个小 api。关于他们的 api 和文档,我有很多话要说,这是一场灾难。
  • 不是在谈论 Google docs api,它允许做所有事情,但每天限制为 10 000 次调用,它是 Google drive sdk 的替代品,这是一个功能回归,因为我们无法使用它来操作权限(我们只检索漂亮的无用显示名称)。不是在谈论为每个 api 寻找工作样本的噩梦。不是在谈论多个不同的 API 做同样的事情,但每个 API 都存在未记录和阻塞的限制。
  • 我在 Lotus/IBM 和 Microsoft 工作了 15 年,致力于许多产品的源代码。谷歌还是一家年轻的公司,他们的 API 集是一场灾难。我觉得每个 SDK 背后都需要一个强大的程序管理器。如果谷歌来到这里,请升级我的评论。说真的,你的不同 sdk 很糟糕。
【解决方案2】:

我终于在http://code.google.com/p/google-api-dotnet-client/source/browse/Services/?repo=samples&name=1.3.0-beta(尤其是Google Drive - 它似乎不存在于主集中)中找到了旧版本(使用 .NET 3.5 编译的)的源代码。

我在使用 Mercurial 与源存储库交互时遇到问题,但我能够直接下载 CS 文件并在我自己的项目中编译它。如果我了解更多,我会进行编辑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-06
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多