付録A. レガシー・プラットフォームのサポート
本書で取り上げる技術の多く は、古いプラットフォームもある程度サポートしている。これらのプラットフォームをサポートする必要があるという不運な状況に陥った場合、この付録の情報が、どの技術が利用可能かを判断する助けになるかもしれない。古いプラットフォームでこれらの技術を使うのは理想的とは言えないし、仮に動作するようになったとしても、長期的な解決策はコードのプラットフォーム・ターゲットを更新することだけであることを覚えておいてほしい。この付録は主に歴史的な参考資料であり、推奨するものではない。
表A-1は、さまざまなテクニックに対するレガシープラットフォームのサポートをまとめたものである。
| プラットフォーム | 非同期 | パラレル | 反応性 | データフロー | 同時コレクション | 不変性コレクション |
|---|---|---|---|---|---|---|
.NET 4.5 |
✓ |
✓ |
ニューゲット |
ニューゲット |
✓ |
ニューゲット |
.NET 4.0 |
ニューゲット |
✓ |
ニューゲット |
✗ |
✓ |
✗ |
Windows Phone アプリ 8.1 |
✓ |
✓ |
ニューゲット |
ニューゲット |
✓ |
ニューゲット |
Windows Phone SL 8.0 |
✓ |
✗ |
ニューゲット |
ニューゲット |
✗ |
ニューゲット |
Windows Phone SL 7.1 |
ニューゲット |
✗ |
ニューゲット |
✗ |
✗ |
✗ |
シルバーライト5 |
ニューゲット |
✗ |
ニューゲット |
✗ |
✗ |
✗ |
レガシー・プラットフォームの非同期サポート
古いレガシープラットフォームでasync のサポートが必要な場合は、以下のNuGetパッケージをインストールする。 Microsoft.Bcl.Async.
警告
.NET 4.0上で動作するASP.NETでasync コードを有効にするには、Microsoft.Bcl.Async を使用しないこと!ASP.NETのパイプラインは.NET 4.5で更新され、async 。async ASP.NETプロジェクトでは、.NET 4.5以降を使用する必要がある。Microsoft.Bcl.Async は非ASP.NETアプリケーション専用である。
| プラットフォーム | 非同期サポート |
|---|---|
.NET 4.5 |
✓ |
.NET 4.0 |
NuGetである: |
Windows Phone アプリ 8.1 |
✓ |
Windows Phone SL 8.0 |
✓ |
Windows Phone 7.1 |
NuGetである: |
シルバーライト5 |
NuGetである: |
Microsoft.Bcl.Async を使用する場合、Delay 、FromResult 、WhenAll 、WhenAny など、モダンなTask タイプのメンバーの多くがTaskEx タイプになる。
データフローのレガシープラットフォームサポート
TPL Dataflowを使用するには、NuGetパッケージをアプリケーションにインストールする。 System.Threading.Tasks.Dataflowをアプリケーションにインストールする。TPL Dataflowライブラリは、古いプラットフォーム向けのプラットフォームサポートに制限がある(表A-3)。
警告
古いMicrosoft.Tpl.Dataflow ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access