.NET のリリースとサポート

Microsoft は、.NET 以降のバージョン用のメジャー リリース、マイナー リリース、サービス更新プログラム (パッチ) を提供しています。 この記事では、リリースの種類、サービス更新プログラム、SDK 機能帯、サポート期間、およびサポート オプションについて説明します。

Note

.NET Framework のバージョン管理とサポートについては、「.NET Framework ライフサイクル」を参照してください。

リリースの種類

各リリースの種類に関する情報は、major.minor.patch 形式のバージョン番号でエンコードされます。

次に例を示します。

  • .NET 6 と .NET 7 はメジャー リリースです。
  • .Net Core 3.1 は、.NET Core 3.0 のメジャー リリース後の最初のマイナー リリースです。
  • .NET Core 5.0.15 は、.NET 5 の 15 番目のパッチです。

リリースされたバージョンの .NET の一覧と、.NET が出荷される頻度については、サポート ポリシーに関するページを参照してください。

メジャー リリース

メジャー リリースには、新機能、新しいパブリック API のサーフェイス領域、およびバグ修正が含まれています。 例として、.NET 6 や .NET 7 があります。 変更の性質により、これらのリリースには破壊的変更が含まれることが予想されます。 メジャー リリースは、以前のメジャー リリースとサイド バイ サイドでインストールされます。

マイナー リリース

マイナー リリースには新機能、パブリック API のサーフェイス領域、およびバグ修正も含まれており、破壊的変更が含まれる場合もあります。 たとえば、.NET Core 3.1 です。 これらとメジャー リリースとの違いは、変更の規模がより小さいことです。 .NET Core 3.0 から 3.1 にアップグレードするアプリケーションの場合、前に進むためのジャンプはより小さいものになります。 マイナー リリースは、以前のマイナー リリースとサイド バイ サイドでインストールされます。

サービス更新プログラム

サービス更新プログラム (パッチ) はほぼ毎月出荷され、これらの更新プログラムにはセキュリティとセキュリティ以外の両方のバグ修正が含まれます。 たとえば、.NET 5.0.8 は、.NET 5 の 8 番目の更新プログラムでした。 これらの更新プログラムは、セキュリティ修正プログラムが含まれている場合、"月例パッチ" で (常にその月の第 2 火曜日に) リリースされます。 サービス更新プログラムでは互換性が維持されることが予想されます。 .NET Core 3.1 以降のサービス更新プログラムは、前の更新プログラムを削除するアップグレードです。 たとえば、3.1 の最新のサービス更新プログラムの場合、インストールが正常に行われた時点で以前の 3.1 の更新プログラムが削除されます。

機能帯 (SDK のみ)

.NET SDK のバージョン管理は、.NET ランタイムとは少し異なります。 新しい Visual Studio リリースに合わせて、.NET SDK の更新プログラムには新機能、または MSBuild や NuGet などの新しいバージョンのコンポーネントが含まれる場合があります。 これらの新しい機能またはコンポーネントは、同じメジャーまたはマイナー バージョンの以前の SDK 更新プログラムに同梱されていたバージョンと互換性がない場合があります。

このような更新プログラムを区別するために、.NET SDK には機能帯の概念が使用されます。 たとえば、最初の .NET 5 SDK は 5.0.100 でした。 このリリースは、5.0.1xx の "機能帯" に対応しています。 機能帯は、バージョン番号の 3 番目のセクションの 100 番台のグループで定義されます。 たとえば、5.0.101 と 5.0.201 は 2 つの異なる機能帯のバージョンですが、5.0.101 と 5.0.199 は同じ機能帯に含まれます。 .NET SDK 5.0.101 がインストールされるときに、.NET SDK 5.1.100 はマシンから削除されます (存在する場合)。 同じマシンに .NET SDK 5.0.200 がインストールされる場合、.NET SDK 5.0.101 は削除されません。

.NET SDK と Visual Studio のバージョンの関係の詳細については、.NET SDK、MSBuild、Visual Studio のバージョン管理に関するページを参照してください。

ランタイムのロールフォワードと互換性

メジャーおよびマイナーの更新プログラムは、以前のバージョンとサイド バイ サイドでインストールされます。 特定の major.minor バージョンをターゲットとするようにビルドされたアプリケーションでは、より新しいバージョンがインストールされてもそのターゲットとなるランタイムを引き続き使用します。 この動作を有効にしない限り、アプリでは、より新しい major.minor バージョンのランタイムを使用するように自動的にロールフォワードしません。 .NET Core 3.0 をターゲットとするようにビルドされたアプリケーションの場合、.NET Core 3.1 での実行は自動的に開始されません。 運用環境にデプロイする前に、アプリをリビルドし、より新しいメジャーまたはマイナーのランタイム バージョンに対してテストすることをお勧めします。 詳細については、「フレームワーク依存のアプリをロールフォワードする」と「自己完結型展開ランタイムのロール フォワード」を参照してください。

サービス更新プログラムは、メジャーおよびマイナー リリースとは異なる方法で扱われます。 .NET 7 をターゲットとするようにビルドされたアプリケーションは、既定では 7.0.0 ランタイムで実行されます。 サービス更新プログラムがインストールされている場合は、より新しい 7.0.1 ランタイムを使うために自動的にロールフォワードされます。 これが既定の動作です。これは、セキュリティ修正プログラムがインストールされたらすぐに、他の操作を行わなくても使用できるようにするためです。 この既定のロールフォワード動作を無効にすることができます。

.NET のバージョンのライフサイクル

.NET のバージョンには、.NET Framework リリースで使われていた固定ライフサイクルではなく、最新のライフサイクルが採用されています。 最新のライフサイクルを採用している製品には、サービスに似たサポート モデルがあり、サポート期間が短くなり、リリースがより頻繁に行われます。

リリースのトラック

リリースのサポート トラックには次の 2 つがあります。

  • "標準期間サポート" (STS) リリース

    これらのバージョンは、次のメジャーまたはマイナー リリースの出荷後 6 か月までサポートされます。

    例:

    • .NET 5 は、STS リリースであり、2020 年 11 月にリリースされました。 2022 年 5 月まで 18 か月間サポートされました。
    • .NET 7 は STS リリースであり、2022 年 11 月にリリースされました。 2024 年 5 月まで 18 か月間サポートされます。
  • "長期サポート" (LTS) リリース

    これらのバージョンは少なくとも 3 年間、あるいはその日付が後である場合は次の LTS リリースが出荷されてから 1 年間はサポートされます。

    例:

    • .NET Core 3.1 は、LTS リリースであり、2019 年 12 月にリリースされました。 2022 年 12 月まで 3 年間サポートされました。
    • .NET 6 は、LTS リリースであり、2021 年 11 月にリリースされました。 2024 年 11 月まで 3 年間サポートされます。

LTS および STS のリリースは交互に行われるため、以前のリリースがその後のリリースよりも長くサポートされる可能性があります。 たとえば、.NET Core 3.1 は、2022 年 12 月までサポートされる LTS リリースでした。 .NET 5 リリースは、ほぼ 1 年後に出荷されましたが、サポートの終了はこちらの方が早く、2022 年 5 月でした。

サービス更新プログラムは月単位で出荷され、セキュリティとセキュリティ以外 (信頼性、互換性、および安定性) の両方の修正プログラムが含まれます。 サービス更新プログラムは、次のサービス更新プログラムがリリースされるまでサポートされます。 サービス更新プログラムにはランタイム ロールフォワード動作があります。 つまり、アプリケーションは、インストールされている最新のランタイム サービス更新プログラムで既定で実行されます。

リリースの選び方

サービスをビルドしていて、定期的にその更新を継続することが予想される場合は、.NET 7 ランタイムなどのリリースが、.NET が提供する最新機能を最新の状態に保つのに最適な選択肢である可能性があります。

コンシューマーに配布されるクライアント アプリケーションをビルドしている場合は、最新機能へのアクセスよりも安定性が重要になることがあります。 コンシューマーがアプリケーションの次のバージョンにアップグレードできるようにするには、一定期間でのアプリケーションのサポートが必要になる場合があります。 その場合、.NET 6 ランタイムなどの LTS リリースが正しい選択肢である可能性があります。

Note

使用可能なすべてのランタイムをターゲットにできるため、STS リリースであっても最新の SDK バージョンにアップグレードすることをお勧めします。

サービス更新プログラムのサポート

.NET のサービス更新プログラムは、次のサービス更新プログラムがリリースされるまでサポートされます。 リリースの頻度は月単位です。

アプリを確実に安全でサポートされた状態にするには、サービス更新プログラムを定期的にインストールする必要があります。 たとえば、.NET 7 の最新のサービス更新プログラムが 7.0.8 で、7.0.9 が出荷された場合、7.0.8 は最新ではなくなります。 .NET 7 でサポートされるサービス レベルは、7.0.9 になります。

各メジャーおよびマイナー バージョンの最新のサービス更新プログラムについては、.NET のダウンロード ページを参照してください。

サポート終了

サポート終了とは、Microsoft がある製品バージョンに対して修正プログラム、更新プログラム、あるいは技術的なサポートを提供しなくなる日付を表します。 この日付の前に、サポート対象のバージョンを使用するように移行したことを確認してください。 サポート対象外のバージョンでは、アプリケーションとデータを保護するセキュリティ更新プログラムが受信されなくなります。 .NET の各バージョンでサポートされる日付の範囲については、サポート ポリシーに関するページを参照してください。

サポートされるオペレーティング システム

.NET はさまざまなオペレーティング システムで実行できます。 これらの各オペレーティング システムには、そのスポンサー組織 (Microsoft、Red Hat、Apple など) によって定義されたライフサイクルがあります。 オペレーティング システムのバージョンのサポートを追加および削除する際に、これらのライフサイクルのスケジュールが考慮されます。

オペレーティング システムのバージョンがサポート対象外になった場合、そのバージョンのテストおよびそのバージョンのサポートの提供が停止されます。 サポートを受けるには、ユーザーはサポート対象のオペレーティング システムのバージョンに移行する必要があります。

詳細については、.NET OS のライフサイクル ポリシーに関するページを参照してください。

サポートを受ける

Microsoft の支援付きサポートとコミュニティ サポートのいずれかを選択できます。

Microsoft のサポート

支援付きサポートについては、Microsoft サポート担当者にお問い合わせください

サポートの対象となるように、サポート対象サービス レベル (利用可能な最新のサービス更新プログラム) に達する必要があります。 システムで .NET 7 が実行されていて、7.0.8 サービス更新プログラムがリリースされている場合は、最初の手順として 7.0.8 をインストールする必要があります。

コミュニティ サポート

コミュニティ サポートについては、コミュニティのページを参照してください。