.NET Framework のバージョン対応表

「.NET Framework」のバージョンは「Visual Studio」や「C#」のバージョンと複雑に絡み合っていて、相互関係や機能を確認するのが大変です。

すぐに確認できるように、バージョン対応表を作成してみました。

# .NET Framework バージョン対応表
| .NET Framework | インストール可能<br>Windows                | インストール可能<br>Windows Server       | Visual Studio | C#  | 新機能 |
|:--------------:|:--------------------------------------:|:------------------------------------:|:-------------:|:---:|:-----:|
| 1.0            | 2000, XP                               | 2000, 2003                           | 2002          | 1.0 | - |
| 1.1 | 2000, XP, Vista | 2000, 2003, 2008 | 2003 | 1.2 | ODBCとOracle Database用のデータ接続<br>IPv6 |
| 2.0 | 2000, XP, **Vista**, **7**, 8, 8.1, 10 | 2000, **2003**, **2008**, 2012, 2016 | 2005 | 2.0 | 64ビットシステム<br>.NET Micro Framework<br>[C#]ジェネリック<br>[C#]イテレータ |
| 3.0 | XP, **Vista**, **7**, 8, 8.1, 10 | 2003, 2008, 2012, 2016 | 2005 | 2.0 | WPF・WCF・WF・WCS |
| 3.5            | XP, Vista, **7**, 8, 8.1, 10           | 2003, 2008, 2012, 2016               | 2008, 2010    | 3.0 | ASP.NET MVC<br>ASP.NET AJAX<br>[C#]LINQ<br>[C#]ラムダ式<br>[C#]暗黙的型付け(var) |
| 4              | XP, Vista, 7                           | 2003, 2008                           | 2012          | 4.0 | F#言語<br>Dynamic Language Runtime<br>MEF<br>Velocity<br>Windows タッチ<br>ADO.NET Entity Framework<br>[C#]Parallel Extensions(Parallel/PLINQ)<br>[C#]dynamic型<br>[C#]オプション引数/名前付き引数 |
| 4.5            | Vista, 7, **8**, **8.1**               | 2008, **2012**                       | 2013          | 5.0 | Windowsストアアプリ<br>[C#]非同期プログラミング(async/await)<br>[C#]Caller Info |
| 4.6            | Vista, 7, 8, 8.1, **10**               | 2008, 2012, **2016**                 | 2015          | 6.0 | RyuJIT<br>.NET Native<br>.NET Compiler Platform |
| 4.7            | 7, 8.1, 10, **10 Creators Update**  | 2008, 2012, 2016                     | 2017          | 7.0 | Windows Formsの高DPI<br>WPFのタッチ<br>拡張された暗号<br>[C#]タプル<br>[C#]パターンマッチング |
| 4.8            | 7, 8.1, 10 | 2008, 2012, 2016, 2019                     | 2019          | 7.3 | JITとNGENの強化<br>ZLibのセキュリティ強化<br>Windows Formsのアクセシビリティ強化<br>WCPのService Behavior強化<br>WPFの高DPI強化 |
| Core 1.0       | 7, 8, 8.1, 10                          | 2012, 2016                           | 2015 Update 3, 2017 | 6.0 | ASP.NET Core<br>オープンソース化<br>Mac/Linux/iOS/Android対応 |
| Core 1.1       | 7, 8, 8.1, 10                          | 2012, 2016                           | 2015 Update 3, 2017 | 6.0 | 1380個のAPI追加 |
| Core 2.0       | 7, 8, 8.1, 10                          | 2012, 2016                           | 2017 15.5 | 7.1 | .NET Standard 2.0対応<br>ASP.NET Core 2.0<br>Entity Framework Core 2.0<br>ML.NET |
| Core 2.1       | 7, 8, 8.1, 10                          | 2012, 2016                           | 2017 15.8.6 | 7.2 | ASP.NET Core 2.1<br>Entity Framework Core 2.1<br>.NET Core グローバルツール<br>HttpClient のパフォーマンス改善<br>Windows互換機能パック<br>[C#]Span\<T\>, Memory\<T\> |
| Core 2.2 | 7, 8, 8.1, 10                          | 2012, 2016 | 2017 15.9 | 7.3 | ASP.NET Core 2.2<br>Entity Framework Core 2.2<br> |
| Core 3.0 | 7, 8, 8.1, 10                          | 2012, 2016 | 2019 | 8.0 | .NET Standard 2.1対応<br>WPF・Windows Forms<br>[C#]Null 許容参照型<br>[C#]Interfaceのデフォルト実装<br>[C#]非同期ストリーム<br>[C#]Range型, Index型 |
| Core 3.1 | 7, 8, 8.1, 10, 11                       | 2012, 2016 | 2019 16.4 | 8.0 | C++/CLI対応<br>ASP.NET Core 3.1<br>Entity Framework Core 3.1 |
| 5 | 7, 8, 8.1, 10, 11                       | 2012, 2016 | 2019 16.8 | 9.0 | 「.NET Framework」と「.NET Core」を統合<br>ASP.NET Core 5.0<br>Entity Framework Core 5.0 |
| 6 | 7, 8, 8.1, 10, 11                       | 2012, 2016 | 2022 17.0 | 10.0 | Arm64対応<br>ホット リロード<br>.NET MAUI |
| 7 | 10, 11                                  | 2012, 2016, 2019 | 2022 17.4 | 11.0 | ネイティブ AOT<br>HTTP/3<br>[C#]生文字列リテラル |
| 8 | 10, 11                                  | 2019, 2022 | 2022 17.8 | 12.0 | Blazor United<br>[C#]コレクション式<br>[C#]プライマリ コンストラクター |

- インストール可能欄の太文字はプレインストールを表します。
- インストール可能欄に表記がなくてもインストールできる場合もありますが、動作保証されません。
- Windows Server のバージョン表記は「R2」も含みます。
- 新機能については別記事「[.NET Framework の新機能を超簡単に説明する](http://qiita.com/nskydiving/items/2ff8285acb72c4e59caf)」を参照してください。

# .NET Framework の互換性
「.NET Framework」のバージョンは、以下の表に示す互換グループごとに互換性を確保しています。
例えば「.NET Framework 3.5」をインストールすれば「.NET Framework 2.0」のアプリケーションを実行できます。

|　互換グループ　              |　所属バージョン　 |                
|:-----------------------:|:-------------:|
| .NET Framework 1.0      | 1.0 |                             
| .NET Framework 1.1      | 1.1 |
| .NET Framework 2.0, 3.x | 2.0, 3.0, 3.5 |
| .NET Framework 4.x      | 4, 4.5, 4.6, 4.7, 4.8 |
| .NET Core 1.ｘ           | Core 1.0, Core 1.1 |
| .NET Core 2.ｘ           | Core 2.0, Core 2.1, Core 2.2 |
| .NET Core 3.ｘ           | Core 3.0, Core 3.1 |
| .NET 5                  | 5 |
| .NET 6                  | 6 |
| .NET 7                  | 7 |
| .NET 8                  | 8 |

# 参考
.NET Framework サポート ライフサイクル ポリシーについて (2015年10月)
https://blogs.msdn.microsoft.com/visualstudio_jpn/2015/10/18/net-framework-201510/

.NET Frameworkのバージョンを整理する
http://www.atmarkit.co.jp/ait/articles/1211/16/news093.html

++C++; [C# の機能一覧（索引的なもの）] バージョン
http://ufcpp.net/study/csharp/list_versions.html

.NETにおけるマネージヒープとガベージコレクション
http://qiita.com/mima_ita/items/8303f2a476e8630f0728