Windows 8 ストア アプリと Windows Phone 8 アプリに使用するポータブル クラス ライブラリを Visual Studio 2012 で作成しようとしています。
次のエラーが表示されます。
'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 ストア アプリでも発生しないため、PCL で動作しない理由がわかりません。
GetAwaiter は、System.Runtime.WindowsRuntime.dll にあるクラス WindowsRuntimeSystemExtensions の拡張メソッドです。オブジェクト ブラウザーを使用すると、この dll が.NET for Windows Store アプリコンポーネント セットとWindows Phone 8コンポーネント セットで利用可能ですが、.NET Portable Subset では利用できないことがわかります。両方のターゲット プラットフォームで利用できる場合、ポータブル サブセットに含まれない理由がわかりません。