Google Apis强烈命名二进制文件

时间:2014-12-16 09:38:06

标签: .net visual-studio-2010 google-api-dotnet-client

我试图接收谷歌用户的应用程序.... 我从nuget安装了2个软件包 - Google API Client Library 1.9.0和Google.Apis.Admin.Directory.directory_v1
我的环境是Windows7,VS2010和.NET4.0框架 我收到了这个警告:

  

主要参考" Google.Apis"无法解决,因为它   有一个间接依赖于框架程序集" System.Net.Http,   Version = 1.5.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"   这在目前的目标框架中无法解决。   " .NETFramework,版本= 4.0版&#34 ;.要解决此问题,请删除   参考" Google.Apis"或者将您的申请重新定位到   包含" System.Net.Http,Version = 1.5.0.0的框架版本,   Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"。

我知道它是以某种方式连接到强命名 - 我试图获取源代码并编译它,虽然源代码不适应VS2010 ....

有没有办法安装/编译源代码/什么可以帮助我使用这些软件包?

或..可能在不使用这些API的情况下接收数据(用户数据)

由于

2 个答案:

答案 0 :(得分:0)

除非您尝试构建.dll,否则他们不需要强大的命名。 (据我所知,如果我错了,有人会纠正我)

当你收到这个错误时,我真的不明白:

如果您在进行NuGet安装时(Install-Package Google.Apis.Admin.Directory.directory_v1

  • 右键单击您的项目 - >属性 - >确保目标框架是 .Net FrameWork 4.0 而不是.NET Framework 4.0客户端配置文件
  • 确保您拥有最新版本的NuGet,这也会导致它无法导入库。

如果您正在尝试编译项目:

  • 检查引用中的每个dll是否设置为copy local true或将它们添加到GAC

enter image description here

如果这不起作用,请告诉我。

答案 1 :(得分:0)

此消息与强命名无关。事实上,从版本1.9.0开始,NuGet上的 Google.Apis.Core 包不使用强名称,因此您的项目也无法使用。

虽然我无法重现上述问题,但听起来您需要添加程序集绑定重定向。

  1. 在Visual Studio中,使用工具→Extension Manager ... 以确保NuGet扩展程序更新为最新版本。
  2. 在Visual Studio中打开您的解决方案。
  3. 运行查看→其他Windows→程序包管理器控制台
  4. 运行以下命令,其中 YourProjectName 是您要构建的项目的名称。

      

    Add-BindingRedirect -ProjectName YourProjectName

    您应该看到此命令的以下输出。

    Name                             OldVersion                NewVersion
    ----                             ----------                ----------
    System.Net.Http                  0.0.0.0-2.2.22.0          2.2.22.0
    System.Net.Http.Primitives       0.0.0.0-2.2.22.0          2.2.22.0
    System.Runtime                   0.0.0.0-2.6.9.0           2.6.9.0
    System.Threading.Tasks           0.0.0.0-2.6.9.0           2.6.9.0