我正在尝试在 Visual Studio 2012 中创建一个可移植类库,用于 Windows 8 应用商店应用和 Windows Phone 8 应用。
我收到以下错误:
'await' 要求类型 'Windows.Foundation.IAsyncOperation' 具有合适的 GetAwaiter 方法。您是否缺少“系统”的使用指令?
在这行代码:
StorageFolder guidesInstallFolder = await Package.Current.InstalledLocation.GetFolderAsync(guidesFolder);
My Portable Class Library 针对 .NET Framework 4.5、Windows Phone 8 和 .NET for Windows Store 应用程序。
在纯 Windows Phone 8 项目中,这行代码我没有收到此错误,我也没有在 Windows Store 应用程序中收到此错误,所以我不明白为什么它在我的 PCL 中不起作用。
GetAwaiter 是 System.Runtime.WindowsRuntime.dll 中的 WindowsRuntimeSystemExtensions 类中的扩展方法。使用对象浏览器,我可以看到此 dll 在.NET for Windows Store 应用程序组件集和Windows Phone 8组件集中可用,但在.NET Portable Subset中不可用。我只是不明白如果它在我的两个目标平台上都可用,为什么它不会出现在 Portable Subset 中。