我已经使用使用 TPL 中的任务的方法创建了 PCL。为此,我已将 nuget 包 Microsoft.BCL 添加到 PCL。一切都正确编译,但在运行时出现以下错误:
System.Reflection.TargetInvocationException:调用的目标已引发异常。
就在这儿:
var tcs = new TaskCompletionSource<string>();
PCL 是否支持从 Android/Monotouch 调用的任务?如果是,我应该使用什么组件/nuget 包。
ps:代码是在Visual Studio(不是Xamarin Studio)下测试的
异常详情:
未处理的异常:
System.PlatformNotSupportedException:不支持此平台。2013-07-25 11:45:32.384 iPhone[1817:907] 未处理的托管异常:不支持此平台。(System.PlatformNotSupportedException) 在 System.ExecutionContextLightup.Run (System.ExecutionContextLightup executionContext, System.Action`1 回调, System.Object 状态) [0x00000] in :0 在 System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run () [ 0x00000] 在 :0 在 Microsoft.Runtime.CompilerServices.TaskAwaiter+<> c_DisplayClassa.b _1 (System.Object 状态) [0x00000] 在 :0 在 MonoTouch.UIKit.UIKitSynchronizationContext+ c_AnonStorey52.<>m_4E () [0x00000] 在 /Developer/MonoTouch/Source/monotouch/src/UIKit/UIKitSynchronizationContext.cs:24 在 MonoTouch.Foundation.NSAsyncActionDispatcher.Apply () [0x00000] 在 /Developer/MonoTouch/Source/monotouch/src/共享/Foundation/NSAction.cs:87 at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr) at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0004c] 在 /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38
在 c:\Sources\Local\PCL_XN\iPhone\Main.cs:17 中的 iPhone.Application.Main (System.String[] args) [0x00001] 程序“Mono”已退出,代码为 0 (0x0)。程序“[6760] iPhone.vshost.exe: Managed (v4.0.30319)”已退出,代码为 -1 (0xffffffff)。