我有Xamarin.Android,Xamarin.iOS和Windows Phone 8应用程序,都引用了常见的PCL库。在这个库中我使用HttpClient,因为WP8,我需要nuget包Microsoft.Net.Http.2.2.22
如果不在HttpClient上启用压缩,一切都可以在所有3个平台上正常运行。但是,在将代码更改为
之后var handler = new HttpClientHandler();
if (handler.SupportsAutomaticDecompression)
{
handler.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
}
httpClient = new HttpClient(handler);
iOS上的库存在构建错误(Android和WP都能正常工作)告诉我DecompressionMethods
的多个定义。奇怪的是 - 错误提到的第二个程序集是System.Net.Primitives.dll
- 它不包含DecompressionMethods的定义(我甚至在ILSpy中检查过)。
当然,我尝试过清洁解决方案,重建,关闭/打开Xamarin Studio等......
错误:
MyApiHttpClient.cs(30,50): error CS0433: The imported type `System.Net.DecompressionMethods' is defined multiple times
/Users/vtoth/myprototype/Services/CommonServices/../../packages/Microsoft.Net.Http.2.2.22/lib/portable-net40+sl4+win8+wp71+wpa81/System.Net.Http.Primitives.dll (Location of the symbol related to previous error)
/Library/Frameworks/Mono.framework/Versions/3.2.6/lib/mono/xbuild-frameworks/.NETPortable/v4.5/Profile/Profile49/System.Net.Primitives.dll (Location of the symbol related to previous error)
Task "Csc" execution -- FAILED
Done building target "CoreCompile" in project "/Users/vtoth/myprototype/Services/CommonServices/CommonServices.csproj".-- FAILED
编辑: 有关开发环境的版本信息:
=== Xamarin Studio ===
版本4.2.4(版本35)安装UUID: (...)运行时:单声道3.2.6 ((no / 9b58377)GTK + 2.24.23(罗利主题)
包装版本:302060000
=== Apple Developer Tools ===
Xcode 5.1.1(5085)Build 5B1008
=== Xamarin.iOS ===
版本:7.2.1.42(商业版)哈希:773c77c分支:构建 日期:2014-04-18 15:39:16-0400
=== Xamarin.Mac ===
Xamarin.Mac:未安装
=== Xamarin.Android ===
版本:4.12.3(商业版)Android SDK: / Users / vtoth / Library / Developer / Xamarin / android-sdk-mac_x86支持 Android版本: 2.1(API级别7) 2.2(API级别8) 2.3(API级别10) 3.1(API级别12) 4.0(API级别14) 4.0.3(API级别15) 4.3(API级别18) 4.4(API级别19)Java SDK:/ usr java版“1.6.0_65”Java(TM)SE运行时环境(版本1.6.0_65-b14-462-11M4609)Java HotSpot(TM)64位服务器VM(内置20.65-b04-462,混合模式)
===建立信息===
发行ID:402040035 Git修订版: 1173cb1c45bc56cb702e82cd21a7c9d0cea4acbf建立日期:2014-04-17 13:45:52-04 Xamarin地址:53bde0041263928e8bd64686f5ca5a8e4338dd76
===操作系统===
Mac OS X 10.9.2
答案 0 :(得分:1)
在评论中讨论后,在我看来,你正在运行旧版本的Xamarin Studio,Xamarin.iOS和Xamarin.Android。
请确保您至少拥有以下稳定版本或更新版本(目前在稳定版本频道上可用:
请尝试更新,您的问题应该消失,此外,您还可以获得更好的Xamarin Studio版本!