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