私は現在、C# 5 の async-await 機能から多くの利益を得られるアプリケーションの作成を開始しています。しかし、どのバージョンの VS と非同期ランタイムを使用すればよいかわかりません。
OS の人気チャートを見ると、あと 3 年ほど Windows XP をサポートする必要があります。.net 4.5 は新しいバージョンの Windows でのみ動作するように見えるため、.net 4.0 をターゲットにする必要があります。開発マシンは Windows 7 を使用しているため、新しいバージョンの VS を使用しても問題ありません。
次に、これを行うためのコンパイラを最初に選択する必要があります。
- AsyncCTP を使用した VS2010
- VS2012 プレビュー (および到着したら最終版)、ターゲットを .net 4.0 に設定
- Mono (2.12 には async-await があるようです。IDE として MonoDevelop よりも VS を好む/慣れています)
コード生成のバグが少ないのはどれですか? Jon Skeet のブログを見ると、VS2012 Preview は CTP よりも決してコード ジェネレーターを使用していません。
さらに重要なのは、どのランタイムを使用するか?
VS2012 には、.net 4 で使用するための再配布可能な非同期ランタイムが含まれていますか?
AsyncCTP ランタイムを参照することで、プレビューを使用してコードをコンパイルすることができました。しかし、CTP には奇妙なライセンス条件があるため、これは長期的な解決策とは思えません。
または、サードパーティの実装を使用する必要がありますか? おそらくモノは持っていますか?
ライブラリを配布するには、何らかのインストーラーではなく、単純に dll をアプリケーションと同じディレクトリに配置することを好みます。
また、私のバイナリが mono+Linux/MacOS で変更なしで動作することも望んでいます。したがって、ランタイムは、組み込みのモノ (おそらく 2.12) と互換性があるか、Windows 以外の OS での使用を許可する必要があります。