6

プロジェクトをポータブルクラスライブラリに書き直そうとしています。しかし、問題はAsync CTPを使用しているため、WPとWindows Store Appのライブラリとしてコンパイルできないということです。私は、参照AsyncCtpLibrary.dllが含まれていない場合、コンパイラはポータブルクラスライブラリでのAsync CTPの使用

型または名前空間名「のタスクは、」名前空間「System.Threading」に存在しないと言う(あなたはアセンブリ参照が不足している?)

私はそれが含まれている場合、コンパイラはまだ同じエラーを言うと、警告を追加します。それはフレームワークアセンブリ「mscorlibに間接的な依存関係を持っているので

次基準「AsyncCtpLibraryは、」解決できませんでした、バージョン= 4.0.0.0、Culture =ニュートラル、PublicKeyToken = b77a5現在ターゲットとされているフレームワークでは解決できなかった「c561934e089」があります。 ".NETPortable、Version = v4.0、Profile = Profile104"。この問題を解決するには、リファレンス "AsyncCtpLibrary"を削除するか、 "mscorlib、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089"を含むフレームワークバージョンにアプリケーションをリターゲットします。

どうすればよいですか?

答えて

3

単純な答え - AsyncCTPで作業されていませんVisual Studio 2012で、どのプロジェクトでも使用することはできません。 .NET 4.0とSilverlight 5では、同様の方法で動作するNuGetのAsync Targeting Packをインストールすることができます。
Async/awaitはWinRT、.NET4.5、またはWindows Phone 8をターゲットとしている場合にのみサポートされています。 Windows Phone 8 SDKがまだNDAの下にあるため、ここで詳しく説明することはできません。
WP7.5とVS2012の場合、現在のところasync/awaitの使用方法はありませんが、このプラットフォーム用の更新されたAsync Targeting Packはいつか利用可能になるはずです。
AsyncCTPとAsync Targeting Packは、ポータブルクラスライブラリでは使用できません。今後変更される可能性は低いです。その結果、VS2010では、ポータブルクラスライブラリでasync/awaitを使用することはできません。

+0

したがって、プロジェクトごとに2つの異なるクラスバージョンを保持する必要がありますか? – passick

+2

私はVS2010でこの問題を解決しています。私はアプリケーションロジック用に2つのcsprojファイル(WinRT用とWP7.5用)を持つ1つのProjectフォルダを作成しました。私は両方のプロジェクトで同じファイルを参照していますが、#ifなどの条件付きビルド変数も使用しています。 –

+1

あなたはまた、あなたがwp8sdkに関与しているかもしれないと言及しないこともndaの下にあります - 戦いのクラブの最初のルール! :) – Stuart

1

AsyncCTPの代わりにAsyncBridgeプロジェクトを使用できます。それが助けになるかどうかわかりません。あなたは(あなたはまだ.NET4.0をターゲットにすることができます)、これはしかし仕事を得るためにVS2012でコンパイルする必要があります:

+0

他の方法はありますか?私はvs2010でWindows 7の下でwpのために開発しているからです。 – passick

+1

VS2012で非同期サポートが必要なプロジェクトをコンパイルしようとすると、VS210プロジェクトでこれらのDLLが参照される可能性があります – RoelF

5

現在、.NET 4.5およびWindow Storeアプリケーションを対象とする場合、ポータブルでasync/awaitしか使用できません。ポータブル以外では、.NET 4.0とSilverlight 5用の非同期ターゲティングパックを使用できます。

しかし、私たちは電話機7.5をターゲットにしたときにポータブルでのasync/awaitのサポートを追加した更新された非同期ターゲティングパック、Silverlight 5および.NET 4.0については、http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2691068-support-async-in-portable-class-librariesを参照してください。これは10月上旬に表示されます。

更新http://blogs.msdn.com/b/bclteam/archive/2012/10/22/using-async-await-without-net-framework-4-5.aspxのベータ版をリリースしました。

関連する問題