新しい .NET バージョンにアップグレードする

新しい .NET バージョンは毎年リリースされます。 多くの開発者は、新しいバージョンが利用可能になるとすぐにアップグレード プロセスを開始しますが、使用しているバージョンがサポートされなくなるまで待つ開発者もいます。 アップグレード プロセスには、考慮すべき複数の側面があります。

新しい .NET バージョンにアップグレードする一般的な理由:

  • 現在使用されている .NET バージョンがサポートされなくなった
  • 新しいバージョンで新しいオペレーティング システムがサポートされている
  • 新しいバージョンに重要な API、パフォーマンス、またはセキュリティ機能がある

開発環境をアップグレードする

新しい .NET バージョンにアップグレードする場合、.NET SDK がインストールするプライマリ コンポーネントです。 これには、更新された .NET CLI、ビルド システム、ランタイム バージョンが含まれています。

.NET Web サイトでは、サポートされているオペレーティング システムとアーキテクチャでダウンロードして使用できるインストーラーとアーカイブが提供されています。

一部のオペレーティング システムには、新しい .NET バージョンのインストールにも使用できるパッケージ マネージャーがあり、それが好ましい場合があります。

Visual Studio では、新しい .NET SDK バージョンが自動的にインストールされます。 Visual Studio ユーザーの場合は、新しい Visual Studio バージョンにアップグレードするだけで十分です。

ソース コードをアップグレードする

アプリをアップグレードするために必要な変更は、プロジェクト ファイル内の TargetFramework プロパティを新しい .NET バージョンに更新することだけです。

その方法は次のとおりです。

  • プロジェクト ファイル (*.csproj*.vbproj、または *.fsproj ファイル) を開きます。
  • <TargetFramework> プロパティの値を、たとえば、net6.0 から net8.0 に変更します。
  • <TargetFrameworks> プロパティが使用されている場合は、同じパターンが適用されます。

アップグレード アシスタントでは、これらの変更を自動的に行うことができます。

次の手順では、新しい SDK でプロジェクト (またはソリューション) をビルドします。 追加の変更が必要な場合は、ガイドする警告とエラーが SDK によって示されます。

新しい SDK バージョンでワークロードを復元するには、dotnet workload restore を実行する必要がある場合があります。

その他のリソース:

継続的インテグレーション (CI) を更新する

CI パイプラインは、プロジェクト ファイルや Dockerfile と同様の更新プロセスに従います。 通常、バージョン値のみを変更すれば、CI パイプラインを更新できます。

ホスティング環境を更新する

アプリケーションをホストするために使用されるパターンは多数あります。 ホスティング環境に .NET ランタイムが含まれている場合は、新しいバージョンの .NET ランタイムをインストールする必要があります。 Linux では、依存関係をインストールする必要がありますが、通常、.NET バージョン間で変更されることはありません。

コンテナーの場合、FROM ステートメントを、新しいバージョン番号を含むように変更する必要があります。

次の Dockerfile の例では、ASP.NET Core 8.0 イメージのプルを示します。

FROM mcr.microsoft.com/dotnet/aspnet:8.0

Azure App Service のようなクラウド サービスでは、構成の変更が必要です。