共用方式為


如何移除 .NET 執行階段和 SDK

隨著時間過去,當您安裝 .NET 執行階段和 SDK 的更新版本時,可能會想要從機器中移除過時的 .NET 版本。 解除安裝舊版執行階段可能會變更為了執行共用架構應用程式而選擇的執行階段,如選取要使用的 .NET 版本一文所述。

我是否應該移除某個版本?

.NET 版本選擇行為以及不同更新之間的 .NET 執行階段相容性,可讓您放心移除舊版。 .NET 運行時間更新在主要版本頻外相容,例如 8.x 和 7.x。 此外,新版的 .NET SDK 通常能夠繼續以相容的方式,建置以舊版執行階段為目標的應用程式。

一般而言,您只需要最新的 SDK,以及您應用程式所需之執行階段的最新修補版本。 會想要保留舊版 SDK 或執行階段版本的情況,包括維護以 project.json 為基礎的應用程式。 除非您的應用程式有特定理由需要舊版 SDK 或執行階段,否則您可以安全地移除舊版。

判斷已安裝的項目

您可以使用 .NET CLI 的選項列出電腦上安裝的 SDK 和執行階段版本。 使用 dotnet --list-sdks 查看已安裝的 SDK 清單;使用 dotnet --list-runtimes 查看執行階段清單。 如需詳細資訊,請參閱如何檢查是否已安裝

解除安裝 .NET

.NET 使用 Windows 應用程式 & 功能應用程式 > 已安裝的應用程式 設定頁面來移除 .NET 執行階段和 SDK 的版本。 使用 [開始功能表] 來搜尋 [新增或移除程式] 來開啟設定頁面,如下圖所示:圖示 [應用程式與功能] 對話框。 您可以搜尋 core.net 來篩選並顯示已安裝的 .NET 版本。

Windows 開始功能表顯示新增或移除文字以篩選搜尋結果。

在設定頁面中,搜尋 .net 以尋找電腦上安裝的版本。 選取 [...]...> [解除安裝] 以將該項目解除安裝。 如果使用 Windows 10,請針對您要解除安裝的項目選取 [解除安裝] 按鈕。 下圖顯示 Windows 11 上的 [已安裝的應用程式] 設定頁面:

搜尋欄中含有 '.net' 這個字的 [Windows 已安裝的應用程式] 對話框。結果會顯示已安裝的 .NET Framework 和 .NET 版本。

重要

如果您要解除安裝的項目指出其來自 Visual Studio,請使用 Visual Studio 安裝程式移除這些 .NET 版本。

解除安裝 .NET 的最佳方式是反向操作您用來安裝的動作。 細節會依您選擇的 Linux 發行版本和安裝方法而異。

預覽版採手動安裝,因此必須手動解除安裝。 如需詳細資訊,請參閱撰寫指令碼或手動一節。

重要

如果是 Red Hat 安裝,請參閱適用於 .NET 的 Red Hat 產品文件 (英文)。

如果是 .NET 安裝,您可以移除下列型別:

套件管理員

除非您從手動安裝的預覽版升級,否則不需要在升級時,先使用套件管理員來解除安裝 .NET SDK。 套件管理員 updaterefresh 命令會在成功安裝新版本之後,自動移除舊版本。 如果您安裝的是預覽版,請將其解除安裝。

如果您已使用套件管理員安裝 .NET,請使用相同的套件管理員來解除安裝 .NET SDK 或執行階段。 .NET 安裝支援最熱門的套件管理員。 請參閱發行版本的套件管理員文件,了解環境的準確語法:

  • apt-get(8) 適用於 Debian 型系統,包括 Ubuntu。
  • 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 的安裝位置:dotnet --list-sdks 適用於 SDK、dotnet --list-runtimes 適用於執行階段,而 dotnet --info 適用於全部。 這些命令不會列出 .NET 主機。 若要判斷已安裝哪些主應用程式,請檢查 /usr/share/dotnet/host/fxr/ 目錄。 下列清單代表 .NET 特定版本的目錄,其中 $version 變數代表 .NET 的版本:

  • SDK:

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

  • 執行階段

    執行階段以特定 .NET 產品執行階段為基礎,例如 Microsoft.AspNetCore.AllMicrosoft.NETCore.App (尤其是 .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

重要

版本目錄可能與您要解除安裝的「版本」不符。 與單一 .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 的安裝位置:dotnet --list-sdks 適用於 SDK、dotnet --list-runtimes 適用於執行階段,而 dotnet --info 適用於全部。 這些命令不會列出 .NET 主機。 若要判斷已安裝哪些主應用程式,請檢查 /usr/local/share/dotnet/host/fxr/ 目錄。 下列清單代表 .NET 特定版本的目錄,其中 $version 變數代表 .NET 的版本:

  • SDK:

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

  • 執行階段

    執行階段以特定 .NET 產品執行階段為基礎,例如 Microsoft.AspNetCore.AllMicrosoft.NETCore.App (尤其是 .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

重要

版本目錄可能與您要解除安裝的「版本」不符。 與單一 .NET 版本一起安裝的個別執行階段和 SDK 可能會有不同的版本。 例如,您可能已安裝 ASP.NET Core 8 執行階段,而其安裝了 8.0.2 ASP.NET Core 執行階段和 8.0.8 .NET 執行階段。 這些版本目錄各不相同。 如需詳細資訊,請參閱 .NET 版本設定方式概觀 (部分機器翻譯)。

重要

如果您使用 Arm 型 Mac (例如採用 M1 晶片的 Mac),請檢閱 Arm 型 Mac 中所述的目錄路徑。

.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 項目,則它們會遭到遺棄。