【发布时间】:2012-12-16 15:53:17
【问题描述】:
我正在尝试在 Visual Studio 2012 中创建一个可移植类库,用于 Windows 8 应用商店应用和 Windows Phone 8 应用。
我收到以下错误:
'await' 要求类型 'Windows.Foundation.IAsyncOperation' 有一个合适的 GetAwaiter 方法。您是否缺少 using 指令 对于“系统”?
在这行代码处:
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 apps 组件集和 Windows Phone 8 组件集中可用,但在 中不可用.NET 可移植子集。我只是不明白如果它在我的两个目标平台上都可用,为什么它不会出现在 Portable Subset 中。
【问题讨论】:
-
如果您删除 .NET Framework 4.5 作为目标并仅保留 WP8 和 Windows 应用商店,它是否有效?
-
实际上您无法删除 .NET Framework 4.5,当您尝试删除时说:italic 将自动选择以下框架,因为它们支持在您选择的其他框架:.NET Framework 4.5
标签: c# windows-phone-8 async-await windows-store-apps portable-class-library