编译C ++ / CLI DLL时发出警告

时间:2019-02-25 13:15:56

标签: c# google-api c++-cli google-calendar-api google-api-dotnet-client

我正在开发一个针对.NET 4.0的C ++ / CLI,它使用Google Calendar API引用了我的C#项目。 问题是,当我尝试编译C ++ .DLL时,它给了我以下警告:

  

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

我找不到解决此问题的任何方法,我的app.config已经在尝试重定向System.Net.Http:

 <dependentAssembly>
     <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
     <bindingRedirect oldVersion="0.0.0.0-2.2.29.0" newVersion="2.2.29.0" />
 </dependentAssembly>

有什么想法吗?

编辑:另一个问题(不知道是否相关),当我编译引用C#的C ++项目时:

  

警告:项目必须安装nuget包Microsoft.Bcl,   版本= 1.1.10。有关更多信息,请参见   http://go.microsoft.com/fwlink/?LinkID=317570

但是因为它不是本机C#,所以不允许我安装。

1 个答案:

答案 0 :(得分:0)

google .net客户端库支持.net framework 4.5+

enter image description here

虽然我们尝试支持4.0,但并非所有功能都能正常工作,而且我有一段时间没有尝试过。我建议尝试回到该库的旧版本,大约1.12左右,我认为应该支持4.0

https://www.nuget.org/packages/Google.Apis.Calendar.v3/1.12.0.472开始,然后逐步进行,看看是否可以找到停止工作的版本。