.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 のインストールされているバージョンをフィルター処理して表示することができます。
ご利用のコンピューターから削除する任意のバージョンを選択して、 [アンインストール] をクリックします。
.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、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.All
やMicrosoft.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.All
やMicrosoft.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 アンインストール ツール (dotnet-core-uninstall
) を使用すると、.NET SDK とランタイムをシステムから削除できます。 一連のオプションを使用して、アンインストールするバージョンを指定できます。
Note
現在、.NET アンインストール ツールでは .NET 8 以降はサポートされていません。 このツールのリリース スケジュールの詳細については、「GitHub - dotnet-uninstall-tool ロードマップ」を参照してください。
.NET SDK バージョンに対する Visual Studio の依存関係
Visual Studio 2019 バージョン 16.3 より前は、Visual Studio インストーラーにより .NET Core バージョン 2.1 または 2.2 用のスタンドアロンの SDK インストーラーが呼び出されました。 その結果、Windows の [アプリと機能] ダイアログに SDK のバージョンが表示されます。 スタンドアロン インストーラーを使用して Visual Studio によってインストールされた .NET SDK を削除すると、Visual Studio が破損するおそれがあります。 SDK をアンインストールした後に Visual Studio で問題が発生した場合は、その特定のバージョンの Visual Studio で [修復] を実行します。 次の表に、.NET Core SDK バージョンに対する Visual Studio の依存関係の一部を示します。
Visual Studio のバージョン | .NET Core SDK のバージョン |
---|---|
Visual Studio 2019 バージョン 16.2 | .NET Core SDK 2.2.4xx、2.1.8xx |
Visual Studio 2019 バージョン 16.1 | .NET Core SDK 2.2.3xx、2.1.7xx |
Visual Studio 2019 バージョン 16.0 | .NET Core SDK 2.2.2xx、2.1.6xx |
Visual Studio 2017 バージョン 15.9 | .NET Core SDK 2.2.1xx、2.1.5xx |
Visual Studio 2017 バージョン 15.8 | .NET Core SDK 2.1.4xx |
Visual Studio 2019 バージョン 16.3 以降では、Visual Studio によって .NET SDK の独自のコピーが管理されます。 そのため、[アプリと機能] ダイアログにこれらの SDK バージョンが表示されなくなりました。
NuGet フォールバック ディレクトリを削除する
.NET Core 3.0 SDK より前では、.NET Core SDK インストーラーでは NuGetFallbackFolder という名前のディレクトリを使用して NuGet パッケージのキャッシュを保存していました。 このキャッシュは、dotnet restore
や dotnet 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 エントリがある場合、それらは孤立状態になります。
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示