.NET SDK、MSBuild、Visual Studio のバージョン管理

.NET SDK のバージョン管理とそれが Visual Studio や MSBuild とどのように関係するのかについては、わかりにくい場合があります。 MSBuild は Visual Studio と共にバージョン管理されますが、.NET SDK にも含まれています。 SDK には、MSBuild と Visual Studio の動作する最小バージョンが含まれており、その最小バージョンよりも古い Visual Studio のバージョンでは読み込めません。

バージョン管理

.NET SDK バージョンの最初の部分は、それに含まれ、実行され、既定でターゲットとなる .NET のバージョンと一致します。 機能バンドは 1 から始まり、四半期ごとの Visual Studio のマイナー リリースごとに増加します。 パッチ バージョンは、毎月のサービス更新プログラムで増分されます。

たとえば、.NET 7 が付属しているバージョン 7.0.203 は、7.0.100 が登場して以来の 2 番目の Visual Studio のマイナー リリースであり、7.0.200 リリース以降で 3 番目のパッチです。

ライフサイクル

SDK のサポート期間は、通常、それが含まれている Visual Studio バージョンのものと一致します。

SDK バージョン MSBuild/Visual Studio バージョン 出荷日 ライフサイクル
2.1.5xx 15.9 2018 年 11 月 2021 年 8 月
2.1.8xx 16.2 (VS なし) 2019 年 7 月 2021 年 8 月
3.1.1xx 16.4 2019 年 12 月 2021 年 10 月
3.1.4xx 16.7 2020 年 8 月 2022 年 12 月
5.0.1xx 16.8 2020 年 11 月 2021 年 3 月
5.0.2xx 16.9 2021 年 3 月 2022 年 5 月
5.0.3xx 16.10 2021 年 5 月 2021 年 8 月
5.0.4xx 16.11 2021 年 8 月 2022 年 5 月
6.0.1xx 17.0 2021 年 11 月 2024 年 11 月2
6.0.2xx 17.1 2022 年 2 月 2022 年 5 月
6.0.3xx 17.23 2022 年 5 月 2023 年 10 月
6.0.4xx 17.3 2022 年 8 月 11 月 24 日2
7.0.1xx 17.4 11 月 22 日 2024 年 5 月1
7.0.2xx 17.53 2023 年 2 月 2023 年 5 月
7.0.3xx 17.6 2023 年 5 月 2024 年 5 月
7.0.4xx 17.7 2023 年 8 月 2024 年 5 月1
8.0.1xx 17.8 2023 年 11 月 TBD
8.0.2xx 17.93 2024 年 2 月 TBD
8.0.3xx 17.10 2024 年 5 月 TBD

注意

net6.0 のターゲット設定は Visual Studio 17.0 以降でのみ公式にサポートされています。 net7.0 のターゲット設定は Visual Studio 17.4+ 以降でのみ公式にサポートされています。 net8.0 のターゲット設定は Visual Studio 17.8 以降でのみ公式にサポートされています。

1 .1xx .NET SDK 機能バンドは、主要な .NET バージョンのライフサイクル全体でサポートされています。 延長サポート期間中、サポートは、Linux のみのセキュリティ修正プログラムと最小限の優先度の非セキュリティ修正プログラムに限定されます。 この拡張サポートの理由の詳細については、ソース ビルドのサポートに関するページを参照してください。

2 .4xx .NET SDK 機能バンドは、スタンドアロン インストールとして、一致するランタイムの有効期間中サポートされています。

3 6.0.300、7.0.200、および 8.0.200 では、新しい Visual Studio バージョンが必要です。 詳細については、サポート ルールに関する記述を参照してください。

Visual Studio 2019 のライフサイクル

Visual Studio 2022 のライフサイクル

ターゲットおよびサポート ルール

.NET SDK 7.0.100 および .NET SDK 6.0.300 以降では、特定のバージョンの .NET SDK が実行される MSBuild と Visual Studio のバージョンに関するポリシーが導入されました。 ポリシーは次のとおりです。

  • 新しい TargetFramework ごとに、新しい Visual Studio バージョンまたは新しい dotnet バージョンが必要です。
  • 新しい TargetFramework をサポートする Visual Studio の最初のバージョンは、Roslyn API サーフェス、MSBuild ターゲット、ソース ジェネレーター、アナライザーなどの SDK の機能バンドのフロアになります。
  • 新しい TargetFramework をサポートする新しい .NET SDK の最初のバージョンは、以前のバージョンの Visual Studio で引き続き使用して、ツールとインフラストラクチャ (アクションやパイプラインなど) の 4 分の 1 の移行を可能にすることができます。
SDK Visual Studio のバージョン
(SDK に付属)
Visual Studio の最小バージョン 最大 TargetFramework
(Visual Studio の最小バージョンの場合)
dotnet での最大 TargetFramework
6.0.100 17.0 16.11 Net5.0 Net6.0
6.0.200 17.1 17.0 Net6.0 Net6.0
6.0.300 17.2 17.0 Net6.0 Net6.0
6.0.400 17.3 17.0 Net6.0 Net6.0
7.0.100 17.4 17.3 Net6.0 Net7.0
7.0.200 17.5 17.4 Net7.0 Net7.0
7.0.300 17.6 17.41 Net7.0 Net7.0
7.0.400 17.7 17.4 Net7.0 Net7.0
8.0.100 17.8 17.7 Net7.0 Net8.0
8.0.200 17.9 17.8 Net8.0 Net8.0
8.0.300 17.10 17.8 Net8.0 Net8.0

注意

この表は、.NET SDK 7.0.100 および .NET SDK 6.0.300 以降で、これらのバージョン管理規則が今後どのように適用されるかを示しています。 また、ポリシーが以前に出荷されたバージョンの .NET SDK に適用された場合の適用方法を示しています。 しかし、以前のバージョンの SDK の要件に変更はありません。つまり、.NET SDK 6.0.100 または 6.0.200 で最低限必要な Visual Studio のバージョンは 16.10 のままです。

1 7.0.300 での Blazor および Razor の開発における破壊的変更には、Visual Studio バージョン 17.6 以降が必要です。 詳細については、dotnet/roslyn issue 8718 を参照してください。

一貫性のあるツールを確保するには、可能な場合は msbuild ではなく dotnet build を使用してアプリケーションをビルドする必要があります。

バージョン管理のプレビュー

.NET SDK のメジャー バージョンは通常、Visual Studio プレビュー バージョンから数日以内にリリースされます。 機能する組み合わせは他にもありえますが、テストされて正式にサポートされるのは、リリースされた最新のプレビューのみです。 次の表は、各 .NET プレビュー バージョンのリリース前テストで使用された Visual Studio のバージョンを示しています。

SDK プレビュー バージョン Visual Studio のバージョン
9.0.100 Preview 1 17.10 Preview 1
9.0.100 Preview 2 17.10 Preview 2
9.0.100 Preview 3 17.10 Preview 3

リファレンス