编辑:在Alpha通道Profile7上,Profile49和Profile78似乎有效。 我正在使用此处描述的设置: Getting PCL, Mvvmcross, Nuget and Xamarin Studio to play "nice" on Mac。
如何在Xamarin Studio中使用Async支持工作制作PCL。
我通常使用的是Profile104,它是TargetFrameworkVersion v4.0
我尝试了以下hree不同v4.5配置文件的组合 Profile7,Profile49,Profile78以及不同版本的Xamarin Studio:
Profile7 Profile 49 Profile 78
Alpha (4.1.10, mono=3.2.2) 1 1 1
Beta (4.0.12, mono=3.2.1) 2 2 2
Stable (4.0.12, mono=3.2.0) 1 1 1
基本上,4.5个配置文件都不适用于任何当前可用的Mac版Xamarin Studio版本。
答案 0 :(得分:0)
修改:这些说明适用于稳定频道。在Alpha通道上,您可以使用Profile 158,v4.0,它可以与异步一起使用。
以下设置似乎适用于Android,尚未尝试使用Touch。
将您的PCL-Project设置为4.0 Profile 104,在您的csproj中行为:
<TargetFrameworkProfile>Profile104</TargetFrameworkProfile>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
在您的PCL-Project上,“管理Nuget包”,搜索Async,添加包含ID的包:Microsoft.Bcl.Async
您的异步代码现在应该在PCL中编译,但Android项目会抱怨缺少dll而您不能(或可能不应该)向其添加Async Targeting Pack。
< / LI>在链接器选项卡上的Android项目“选项”,“构建/ Android构建”中,将以下内容添加到“忽略程序集”:System.Threading.Tasks.dll;Microsoft.Threading.Tasks.dll;Microsoft.Threading.Tasks.Extensions.dll
。我的csproj包含以下几行:
<AndroidLinkSkip>System.Threading.Tasks.dll;Microsoft.Threading.Tasks.dll;Microsoft.Threading.Tasks.Extensions.dll</AndroidLinkSkip>
您可能需要重新启动Xamarin Studio,在我的计算机上,“忽略程序集”在其中一个Droid测试项目中无法立即生效。
您的Android项目现在应该在PCL依赖项中使用异步支持进行构建和部署。