.NET ランタイムと SDK を削除する方法

時間の経過に伴い、.NET ランタイムと SDK の更新バージョンをインストールした場合は、ご利用のコンピューターから古いバージョンの .NET を削除することをお勧めします。 ランタイムの古いバージョンをアンインストールすると、共有のフレームワーク アプリケーションを実行するように選択されているランタイムが変更される可能性があります。詳細については、「.NET バージョンの選択」を参照してください。

バージョンを削除する必要はあるか

.NET バージョン選択動作および更新プログラム間での .NET のランタイム互換性により、以前のバージョンを安全に削除することができます。 7.x や 6.x などのメジャー バージョン バンド 内で .NET ランタイム更新プログラムは互換性があります。 さらに、.NET SDK のより新しいリリースでは、通常、互換性を保ちながら、ランタイムの前バージョンを対象とするアプリケーションをビルドする機能が維持されます。

通常、必要なのは、ご自分のアプリケーションに必須である最新の SDK および最新のパッチ バージョンのランタイムのみです。 たとえば、project.json ベースのアプリケーションを管理するとき、以前のバージョンの SDK またはランタイムを保持することがあります。 ご利用のアプリケーションには以前の SDK やランタイムを維持する特別な理由がない場合、以前のバージョンを安全に削除することができます。

インストールされている内容を確認する

ご利用のコンピューターにインストールされている SDK とランタイムのバージョンを一覧表示するのに使用できるオプションが .NET CLI に用意されています。 dotnet --list-sdks を使用すると、インストールされている SDK の一覧が、dotnet --list-runtimes を使用するとランタイムの一覧が表示されます。 詳細については、.NET が既にインストールされていることを確認する方法に関するページを参照してください。

.NET をアンインストールする

.NET では、Windows [アプリと機能] または [アプリ] > [インストール済みアプリ] 設定ページを使用して、.NET ランタイムと SDK のバージョンを削除します。 [スタート] メニューを使用して、プログラムの追加または削除を検索して設定ページを開きます。次の図に示すように、[アプリと機能] ダイアログを示します。 core または .net を検索すると、.NET Core のインストールされているバージョンをフィルター処理して表示することができます。

検索結果をフィルタリングするための追加または削除のテキストが表示された Windows [スタート] メニュー

設定ページで、.net を検索して、コンピューターにインストールされているバージョンを見つけます。 ...>[アンインストール]を選択して、拡張機能をアンインストールします。 Windows 10 を使用している場合は、アンインストールする項目の [アンインストール] ボタンを選択します。 次の図は、Windows 11 の [インストール済みアプリ] 設定ページを示しています。

検索バーに「.net」という単語が表示された Windows [インストール済みアプリ] ダイアログ。結果には、インストールされている .NET Framework と .NET のバージョンが表示されます。

重要

アンインストールする項目が Visual Studio からのものであることが示されている場合は、Visual Studio インストーラーを使用して、それらのバージョンの .NET を削除します。

.NET をアンインストールするには、.NET をインストールするときに使用したアクションをミラー化することをお勧めします。 詳細は、選択した Linux ディストリビューションとインストール方法によって異なります。

プレビュー リリースは手動でインストールされており、手動でアンインストールする必要があります。 詳細については、「スクリプトまたは手動」セクションを参照してください。

重要

Red Hat のインストールについては、.NET 用の Red Hat 製品ドキュメントを参照してください。

.NET インストールの場合、次の種類を削除できます。

パッケージ マネージャー

パッケージ マネージャーを使用して .NET SDK をアップグレードする場合、それを最初にアンインストールする必要はありません。ただし、手動でインストールされたプレビュー バージョンからアップグレードする場合を除きます。 パッケージ マネージャーの update または refresh コマンドでは、新しいバージョンが正常にインストールされると、古いバージョンが自動的に削除されます。 プレビュー バージョンがインストールされている場合は、それをアンインストールします。

パッケージ マネージャーを使用して .NET をインストールした場合は、それと同じパッケージ マネージャーを使用して .NET SDK またはランタイムをアンインストールします。 .NET インストールでは、最も一般的なパッケージ マネージャーがサポートされています。 ご利用の環境内での正確な構文については、ご利用の配布のパッケージ マネージャーのドキュメントを参照してください。

  • apt-get(8) は、Ubuntu などの Debian ベースのシステムによって使用されます。
  • yum(8) は、Fedora、CentOS Stream、Oracle Linux、RHEL 上で使用されます。
  • zypper(8) は、openSUSE および SUSE Linux Enterprise System (SLES) 上で使用されます。
  • dnf(8) は、Fedora 上で使用されます。

ほとんどの場合、パッケージを削除するコマンドは remove となります。

ほとんどのパッケージ マネージャーの場合、.NET SDK インストールのパッケージ名は dotnet-sdk であり、その後にバージョン番号が続きます。 メジャーおよびマイナーのバージョン番号のみが必要です。たとえば、.NET SDK バージョン 8.0.200 は、パッケージ dotnet-sdk-8.0 として参照できます。

ランタイムのみがインストールされ、SDK はインストールされていないコンピューターの場合、.NET ランタイムのパッケージ名は dotnet-runtime-<version> となり、ランタイム スタック全体のパッケージ名は aspnetcore-runtime-<version> となります。

スクリプトまたは手動

dotnet-install スクリプトを使用するか、tarball を展開して .NET をインストールした場合は、手動で .NET を削除する必要があります。

.NET を手動でインストールすると、通常は /usr/share/dotnet//usr/lib/dotnet/、または $HOME/.dotnet ディレクトリにインストールされます。 SDK、ランタイム、および .NET ホストは、個別のサブディレクトリにインストールされます。 これらの "コンポーネント" ディレクトリには、.NET の各バージョンのディレクトリが含まれています。 バージョン管理されたディレクトリを削除すると、そのバージョンの .NET がシステムから削除されます。 これらのディレクトリは、Linux ディストリビューションによって異なる場合があります。

.NET がインストールされている場所を検出するために使用できるコマンドは 3 つあります。SDK の場合は dotnet --list-sdks、ランタイムの場合は dotnet --list-runtimes、すべての場合は dotnet --info です。 これらのコマンドでは、.NET ホストは一覧表示されません。 インストールされているホストを確認するには、/usr/share/dotnet/host/fxr/ ディレクトリをチェックします。 次の一覧は、.NET の特定のバージョンのディレクトリを表します。ここで、$version 変数は .NET のバージョンを表します。

  • SDK:

    /usr/share/dotnet/sdk/$version/

  • ランタイム:

    ランタイムは、Microsoft.AspNetCore.AllMicrosoft.NETCore.App (具体的には .NET ランタイム) などの特定の .NET 製品ランタイムに基づいています。 これらは /usr/share/dotnet/shared/$product/$version ディレクトリにインストールされます。ここで、$product は製品ランタイムです。 たとえば、次のディレクトリが表示される場合があります。

    /usr/share/dotnet/shared/Microsoft.NETCore.App/$version/
    /usr/share/dotnet/shared/Microsoft.AspNetCore.App/$version/
    /usr/share/dotnet/shared/Microsoft.AspNetCore.All/$version/
    
  • .NET ホスト

    /usr/share/dotnet/host/fxr/$version/

rm -rf コマンドを使用して .NET のバージョンを削除します。 たとえば、6.0.406 SDK を削除するには、次のコマンドを実行します。

sudo rm -rf /usr/share/dotnet/sdk/6.0.406

重要

バージョン ディレクトリは、アンインストールしている "バージョン" と一致しない場合があります。 1 つの .NET リリースと共にインストールされる個々のランタイムと SDK は、バージョンが異なる場合があります。 たとえば、ASP.NET Core 8 ランタイムをインストールした場合、8.0.2 ASP.NET Core ランタイムと 8.0.8 .NET ランタイムがインストールされます。 それぞれにバージョン管理されたディレクトリがあります。 詳細については、「.NET のバージョン管理の方法の概要」を参照してください。

.NET を手動でインストールすると、通常は /usr/local/share/dotnet/ または $HOME/.dotnet ディレクトリにインストールされます。 SDK、ランタイム、および .NET ホストは、個別のサブディレクトリにインストールされます。 これらの "コンポーネント" ディレクトリには、.NET の各バージョンのディレクトリが含まれています。 バージョン管理されたディレクトリを削除すると、そのバージョンの .NET がシステムから削除されます。 これらのディレクトリは、お使いの macOS のバージョンでは異なる場合があります。

.NET がインストールされている場所を検出するために使用できるコマンドは 3 つあります。SDK の場合は dotnet --list-sdks、ランタイムの場合は dotnet --list-runtimes、すべての場合は dotnet --info です。 これらのコマンドでは、.NET ホストは一覧表示されません。 インストールされているホストを確認するには、/usr/local/share/dotnet/host/fxr/ ディレクトリをチェックします。 次の一覧は、.NET の特定のバージョンのディレクトリを表します。ここで、$version 変数は .NET のバージョンを表します。

  • SDK:

    /usr/local/share/dotnet/sdk/$version/

  • ランタイム:

    ランタイムは、Microsoft.AspNetCore.AllMicrosoft.NETCore.App (具体的には .NET ランタイム) などの特定の .NET 製品ランタイムに基づいています。 これらは /usr/local/share/dotnet/shared/$product/$version ディレクトリにインストールされます。ここで、$product は製品ランタイムです。 たとえば、次のディレクトリが表示される場合があります。

    /usr/local/share/dotnet/shared/Microsoft.NETCore.App/$version/dotnet --info
    /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/$version/
    /usr/local/share/dotnet/shared/Microsoft.AspNetCore.All/$version/
    
  • .NET ホスト

    /usr/local/share/dotnet/host/fxr/$version/

rm -rf コマンドを使用して .NET のバージョンを削除します。 たとえば、6.0.406 SDK を削除するには、次のコマンドを実行します。

sudo rm -rf /usr/local/share/dotnet/sdk/6.0.406

重要

バージョン ディレクトリは、アンインストールしている "バージョン" と一致しない場合があります。 1 つの .NET リリースと共にインストールされる個々のランタイムと SDK は、バージョンが異なる場合があります。 たとえば、ASP.NET Core 8 ランタイムをインストールした場合、8.0.2 ASP.NET Core ランタイムと 8.0.8 .NET ランタイムがインストールされます。 それぞれにバージョン管理されたディレクトリがあります。 詳細については、「.NET のバージョン管理の方法の概要」を参照してください。

重要

M1 チップを搭載したものなど、Arm ベースの Mac を使用している場合は、「Arm ベースの Mac への .NET のインストール」で説明されているディレクトリ パスを確認してください。

.NET アンインストール ツール

.NET アンインストール ツールを使用すると、.NET SDK とランタイムをシステムから削除できます。 一連のオプションを使用して、アンインストールするバージョンを指定できます。 詳細については、.NET アンインストール ツールの概要に関するページを参照してください。

NuGet フォールバック ディレクトリを削除する

.NET Core 3.0 SDK より前では、.NET Core SDK インストーラーでは NuGetFallbackFolder という名前のディレクトリを使用して NuGet パッケージのキャッシュを保存していました。 このキャッシュは、dotnet restoredotnet build /t:Restore などの操作中に使用されました。 NuGetFallbackFolder は、.NET がインストールされている sdk フォルダーの下にあります。 たとえば、Windows では C:\Program Files\dotnet\sdk\NuGetFallbackFolder に、macOS では /usr/local/share/dotnet/sdk/NuGetFallbackFolder にある可能性があります。

次の場合は、このディレクトリを削除することができます。

  • .NET Core 3.0 SDK または .NET 5 以降のバージョンのみを使用して開発している。
  • 3\.0 より前の .NET Core SDK のバージョンを使用して開発しているが、オンラインで作業できる。

NuGet フォールバック ディレクトリを削除したい場合は削除できますが、管理者特権が必要です。

dotnet ディレクトリの削除はお勧めしません。 これを行うと、以前にインストールしたグローバル ツールがすべて削除されます。 また、Windows の場合は、次のことが発生します。

  • Visual Studio 2019 バージョン 16.3 以降のバージョンが破損します。 [修復] を実行して回復できます。
  • [アプリと機能] ダイアログに .NET Core SDK エントリがある場合、それらは孤立状態になります。