.NET Core ランタイムと SDK を削除する方法How to remove the .NET Core Runtime and SDK

時間の経過に伴い、.NET Core ランタイムと SDK の更新バージョンをインストールした場合は、ご利用のコンピューターから古いバージョンの .NET Core を削除することをお勧めします。Over time, as you install updated versions of the .NET Core runtime and SDK, you may want to remove outdated versions of .NET Core from your machine. ランタイムの古いバージョンを削除すると、共有のフレームワーク アプリケーションを実行するように選択されているランタイムが変更される可能性があります。詳細については、「.NET Core のバージョンの選択」の記事を参照してください。Removing older versions of the runtime may change the runtime chosen to run shared framework applications, as detailed in the article on .NET Core version selection.

バージョンを削除する必要はあるかShould I remove a version?

.NET Core バージョン選択動作および更新プログラム間での .NET Core のランタイム互換性により、以前のバージョンを安全に削除することができます。The .NET Core version selection behaviors and the runtime compatibility of .NET Core across updates enables safe removal of previous versions. 1.x や 2.x などのメジャー バージョン 'バンド' 内で .NET Core ランタイム更新プログラムは互換性があります。.NET Core runtime updates are compatible within a major version 'band' such as 1.x and 2.x. さらに、.NET Core SDK のより新しいリリースでは、通常、互換性を保ちながら、ランタイムの前バージョンを対象とするアプリケーションをビルドする機能が維持されます。Additionally, newer releases of the .NET Core SDK generally maintain the ability to build applications that target previous versions of the runtime in a compatible manner.

通常、必要なのは、ご自分のアプリケーションに必須である最新の SDK および最新のパッチ バージョンのランタイムのみです。In general, you only need the latest SDK and latest patch version of the runtimes required for your application. たとえば、project.json ベースのアプリケーションを管理するとき、以前のバージョンの SDK またはランタイムを保持することがあります。Instances where you might want to keep older SDK or runtime versions include maintaining project.json-based applications. ご利用のアプリケーションには以前の SDK やランタイムを維持する特別な理由がない場合、以前のバージョンを安全に削除することができます。Unless your application has specific reasons for earlier SDKs or runtimes, you may safely remove older versions.

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

.NET Core 2.1 以降、ご利用のコンピューターにインストールされている SDK とランタイムのバージョンを一覧表示するのに使用できるオプションが .NET CLI に用意されています。Starting with .NET Core 2.1, the .NET CLI has options you can use to list the versions of the SDK and runtime that are installed on your machine. ご利用のコンピューターにインストールされている SDK を一覧表示するには、dotnet --list-sdks を使用します。Use dotnet --list-sdks to see the list of SDKs installed on your machine. ご利用のコンピューターにインストールされているランタイムを一覧表示するには、dotnet --list-runtimes を使用します。Use dotnet --list-runtimes to see the list of runtimes installed on your machine. 詳細については、「.NET Core が既にインストールされていることを確認する方法」をご覧ください。For more information, see How to check that .NET Core is already installed.

.NET Core のアンインストールUninstall .NET Core

.NET Core では、Windows の [アプリと機能] ダイアログを使用して .NET Core ランタイムと SDK のバージョンを削除できます。.NET Core uses the Windows Apps & features dialog to remove versions of the .NET Core runtime and SDK. [アプリと機能] ダイアログ ボックスを次の図に示します。The following figure shows the Apps & features dialog. .NET Core のインストールされているバージョンをフィルタリングしたり、表示したりする目的で「core sdk」を検索できます。You can search for core sdk to filter and show installed versions of .NET Core.

.NET Core を削除するための [プログラムの追加と削除]

ご利用のコンピューターから削除する任意のバージョンを選択して、 [アンインストール] をクリックします。Select any versions you want to remove from your machine and click Uninstall.

さらに Linux 上で .NET Core (SDK またはランタイムのいずれか) をアンインストールするオプションもあります。There are more options to uninstall .NET Core (either SDK or runtime) on Linux. .NET Core をアンインストールするには、.NET Core をインストールするときに使用したアクションをミラー化することをお勧めします。The best way for you to uninstall .NET Core is to mirror the action you used to install .NET Core. 詳細は、選択した配布方法とインストール方法によって異なります。The specifics depend on your chosen distribution and the installation method.

重要

Red Hat インストールの場合、.NET Core のインストールとアンインストールについては、Red Hat ファースト ステップ ガイド を参照してください。For Red Hat installations, consult the Red Hat Getting Started Guide for information on installing and uninstalling .NET Core.

.NET Core 2.1 以降では、パッケージ マネージャーを使用して .NET Core SDK をアップグレードする場合、それをアンインストールする必要はありません。Starting with .NET Core 2.1, there's no need to uninstall the .NET Core SDK when upgrading it using a package manager. パッケージ マネージャーの update または refresh コマンドでは、新しいバージョンが正常にインストールされると、古いバージョンが自動的に削除されます。The package manager update or refresh commands will automatically remove the older version upon the successful installation of a newer version.

パッケージ マネージャーを使用して .NET Core をインストールした場合は、それと同じパッケージ マネージャーを使用して .NET SDK またはランタイムをアンインストールします。If you installed .NET Core using a package manager, you use that same package manager to uninstall .NET SDK or runtime. .NET Core インストールでは、最も一般的なパッケージ マネージャーがサポートされています。.NET Core installations support most popular package managers. ご利用の環境内での正確な構文については、ご利用の配布のパッケージ マネージャーのドキュメントを参照してください。Consult the documentation for your distribution's package manager for the precise syntax in your environment:

  • apt-get(8) は、Ubuntu などの Debian ベースのシステムによって使用されます。apt-get(8) is used by Debian based systems, including Ubuntu.
  • yum(8) は、Fedora、CentOS、Oracle Linux 上で使用されます。yum(8) is used on Fedora, CentOS, and Oracle Linux.
  • zypper(8) は、openSUSE および SUSE Linux Enterprise System (SLES) 上で使用されます。zypper(8) is used on openSUSE and SUSE Linux Enterprise System (SLES).
  • dnf(8) は、Fedora 上で使用されます。dnf(8) is used on Fedora.

ほとんどの場合、パッケージを削除するコマンドは remove となります。In almost all cases, the command to remove a package is remove.

ほとんどのパッケージ マネージャーの場合、.NET Core SDK インストールのパッケージ名は dotnet-sdk であり、その後にバージョン番号が続きます。The package name for the .NET Core SDK installation for most package managers is dotnet-sdk, followed by the version number. .NET Core SDK のバージョン 2.1.300 およびランタイムのバージョン 2.1 以降は、メジャーおよびマイナーのバージョン番号のみ必要です。たとえば、.NET Core SDK バージョン 2.1.300 は、パッケージ dotnet-sdk-2.1 として参照できます。Starting with the version 2.1.300 of the .NET Core SDK and version 2.1 of the runtime, only the major and minor version numbers are necessary: for example, the .NET Core SDK version 2.1.300 can be referenced as the package dotnet-sdk-2.1. 以前のバージョンでは、バージョン文字列全体が必須です。たとえば、.NET Core SDK のバージョン 2.1.200 の場合は dotnet-sdk-2.1.200 が必須となります。Prior versions require the entire version string: for example, dotnet-sdk-2.1.200 would be required for version 2.1.200 of the .NET Core SDK.

ランタイムのみがインストールされ、SDK はインストールされていないコンピューターの場合、.NET Core ランタイムのパッケージ名は dotnet-runtime-<version> となり、ランタイム スタック全体のパッケージ名は aspnetcore-runtime-<version> となります。For machines that have installed only the runtime, and not the SDK, the package name is dotnet-runtime-<version> for the .NET Core runtime, and aspnetcore-runtime-<version> for the entire runtime stack.

2.0 より前の .NET Core インストールでは、パッケージ マネージャーを使用して SDK をアンインストールしたとき、ホスト アプリケーションはアンインストールされませんでした。.NET Core installations earlier than 2.0 didn't uninstall the host application when the SDK was uninstalled using the package manager. apt-get を使用する場合、コマンドは次のようになります。Using apt-get, the command is:

apt-get remove dotnet-host

dotnet-host にはバージョンが添えられていないことに注目してください。Note that there's no version attached to dotnet-host.

tarball を使用してインストールした場合、.NET Core の削除は手動で行う必要があります。If you installed using a tarball, you must remove .NET Core using the manual method.

Linux では、バージョン管理されているディレクトリを削除し、SDK とランタイムを別々に削除する必要があります。On Linux, you must remove the SDKs and runtimes separately, by removing the versioned directories. これを削除すると、SDK とランタイムがディスクから削除されます。Removing them deletes the SDK and runtime from disk. たとえば、1.0.1 SDK とランタイムを削除するには、次の bash コマンドを使用します。For example, to remove the 1.0.1 SDK and runtime, you would use the following bash commands:

version="1.0.1"
sudo rm -rf /usr/local/share/dotnet/sdk/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.NETCore.App/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.All/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/$version
sudo rm -rf /usr/local/share/dotnet/host/fxr/$version

上記の表に示したように、SDK とランタイムの親ディレクトリは、dotnet --list-sdks コマンドおよび dotnet --list-runtimes コマンドからの出力に一覧表示されます。The parent directories for the SDK and runtime are listed in the output from the dotnet --list-sdks and dotnet --list-runtimes command, as shown in the earlier table.

Mac では、バージョン管理されているディレクトリを削除し、SDK とランタイムを別々に削除する必要があります。On Mac, you must remove the SDKs and runtimes separately, by removing the versioned directories. これを削除すると、SDK とランタイムがディスクから削除されます。Removing them deletes the SDK and runtime from disk. たとえば、1.0.1 SDK とランタイムを削除するには、次の bash コマンドを使用します。For example, to remove the 1.0.1 SDK and runtime, you would use the following bash commands:

version="1.0.1"
sudo rm -rf /usr/local/share/dotnet/sdk/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.NETCore.App/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.All/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/$version
sudo rm -rf /usr/local/share/dotnet/host/fxr/$version

上記の表に示したように、SDK とランタイムの親ディレクトリは、dotnet --list-sdks コマンドおよび dotnet --list-runtimes コマンドからの出力に一覧表示されます。The parent directories for the SDK and runtime are listed in the output from the dotnet --list-sdks and dotnet --list-runtimes command, as shown in the earlier table.

.NET Core アンインストール ツール.NET Core Uninstall Tool

.NET Core アンインストール ツール (dotnet-core-uninstall) を使用すると、.NET Core SDK とランタイムをシステムから削除できます。The .NET Core Uninstall Tool (dotnet-core-uninstall) lets you remove .NET Core SDKs and runtimes from a system. 一連のオプションを使用して、アンインストールするバージョンを指定できます。A collection of options is available to specify which versions should be uninstalled.

.NET Core SDK バージョンに対する Visual Studio の依存関係Visual Studio dependency on .NET Core SDK versions

Visual Studio 2019 バージョン 16.3 より前では、Visual Studio インストーラーはスタンドアロンの .NET Core SDK インストーラーを呼び出しました。Before Visual Studio 2019 version 16.3, Visual Studio installers called the standalone .NET Core SDK installer. その結果、Windows の [アプリと機能] ダイアログに SDK のバージョンが表示されます。As a result, the SDK versions appear in the Windows Apps & features dialog. スタンドアロン インストーラーを使用して Visual Studio によってインストールされた .NET Core SDK を削除すると、Visual Studio が破損する可能性があります。Removing .NET Core SDKs that were installed by Visual Studio using the standalone installer may break Visual Studio. SDK をアンインストールした後に Visual Studio で問題が発生した場合は、その特定のバージョンの Visual Studio で [修復] を実行します。If Visual Studio has problems after you uninstall SDKs, run Repair on that specific version of Visual Studio. 次の表に、.NET Core SDK バージョンに対する Visual Studio の依存関係の一部を示します。The following table shows some of the Visual Studio dependencies on .NET Core SDK versions:

Visual Studio のバージョンVisual Studio version .NET Core SDK のバージョン.NET Core SDK version
Visual Studio 2019 バージョン 16.2Visual Studio 2019 version 16.2 .NET Core SDK 2.2.4xx、2.1.8xx.NET Core SDK 2.2.4xx, 2.1.8xx
Visual Studio 2019 バージョン 16.1Visual Studio 2019 version 16.1 .NET Core SDK 2.2.3xx、2.1.7xx.NET Core SDK 2.2.3xx, 2.1.7xx
Visual Studio 2019 バージョン 16.0Visual Studio 2019 version 16.0 .NET Core SDK 2.2.2xx、2.1.6xx.NET Core SDK 2.2.2xx, 2.1.6xx
Visual Studio 2017 バージョン 15.9Visual Studio 2017 version 15.9 .NET Core SDK 2.2.1xx、2.1.5xx.NET Core SDK 2.2.1xx, 2.1.5xx
Visual Studio 2017 バージョン 15.8Visual Studio 2017 version 15.8 .NET Core SDK 2.1.4xx.NET Core SDK 2.1.4xx

Visual Studio 2019 バージョン 16.3 以降では、Visual Studio によって .NET Core SDK の独自のコピーが管理されます。Starting with Visual Studio 2019 version 16.3, Visual Studio is in charge of its own copy of the .NET Core SDK. そのため、 [アプリと機能] ダイアログにこれらの SDK バージョンが表示されなくなりました。For that reason, you no longer see those SDK versions in the Apps & features dialog.

NuGet フォールバック フォルダーの削除Remove the NuGet fallback folder

.NET Core 3.0 SDK より前では、.NET Core SDK インストーラーでは NuGetFallbackFolder という名前のフォルダーを使用して NuGet パッケージのキャッシュを格納していました。Before .NET Core 3.0 SDK, the .NET Core SDK installers used a folder named NuGetFallbackFolder to store a cache of NuGet packages. このキャッシュは、dotnet restoredotnet build /t:Restore などの操作中に使用されました。This cache was used during operations such as dotnet restore or dotnet build /t:Restore. NuGetFallbackFolder は、Windows では C:\Program Files\dotnet\sdk に、macOS では /usr/local/share/dotnet/sdk にあります。The NuGetFallbackFolder is located at C:\Program Files\dotnet\sdk on Windows and at /usr/local/share/dotnet/sdk on macOS.

次の場合は、このフォルダーを削除することができます。You may want to remove this folder, if:

  • .NET Core 3.0 SDK 以降のバージョンのみを使用して開発している。You're only developing using .NET Core 3.0 SDK or later versions.
  • 3.0 より前の .NET Core SDK のバージョンを使用して開発しているが、オンラインで作業できる。You're developing using .NET Core SDK versions earlier than 3.0, but you can work online.

NuGet フォールバック フォルダーを削除する場合は、管理者特権が必要になります。If you want to remove the NuGet fallback folder, you can delete it, but you'll need admin privileges to do so.

dotnet フォルダーの削除はお勧めしません。It's not recommended to delete the dotnet folder. これを行うと、以前にインストールしたグローバル ツールがすべて削除されます。Doing so would remove any global tools you've previously installed. また、Windows の場合は、次のことが発生します。Also, on Windows:

  • Visual Studio 2019 バージョン 16.3 以降のバージョンが破損します。You'll break Visual Studio 2019 version 16.3 and later versions. [修復] を実行して回復できます。You can run Repair to recover.
  • [アプリと機能] ダイアログに .NET Core SDK エントリがある場合、それらは孤立状態になります。If there are .NET Core SDK entries in the Apps & features dialog, they'll be orphaned.