Jak usunąć środowisko uruchomieniowe i zestaw SDK platformy .NET

W miarę instalowania zaktualizowanych wersji środowiska uruchomieniowego platformy .NET i zestawu SDK możesz usunąć nieaktualne wersje platformy .NET z maszyny. Odinstalowanie starszych wersji środowiska uruchomieniowego może zmienić środowisko uruchomieniowe wybrane do uruchamiania aplikacji platformy udostępnionej, zgodnie z opisem w artykule dotyczącym wyboru wersji platformy .NET.

Czy należy usunąć wersję?

Zachowania wyboru wersji platformy .NET i zgodność środowiska uruchomieniowego platformy .NET między aktualizacjami umożliwiają bezpieczne usunięcie poprzednich wersji. Aktualizacje środowiska uruchomieniowego platformy .NET są zgodne z głównym pasmem wersji, takim jak 7.x i 6.x. Ponadto nowsze wersje zestawu .NET SDK zwykle utrzymują możliwość tworzenia aplikacji przeznaczonych dla poprzednich wersji środowiska uruchomieniowego w zgodny sposób.

Ogólnie rzecz biorąc, potrzebujesz tylko najnowszej wersji zestawu SDK i najnowszej wersji poprawek środowiska uruchomieniowego wymaganego dla aplikacji. Wystąpienia, w których można zachować starsze wersje zestawu SDK lub środowiska uruchomieniowego, obejmują obsługę aplikacji opartych na project.json. Jeśli aplikacja nie ma określonych przyczyn wcześniejszych zestawów SDK lub środowisk uruchomieniowych, możesz bezpiecznie usunąć starsze wersje.

Określanie, co jest zainstalowane

Interfejs wiersza polecenia platformy .NET zawiera opcje umożliwiające wyświetlenie listy wersji zestawu SDK i środowiska uruchomieniowego zainstalowanych na komputerze. Użyj dotnet --list-sdks polecenia , aby wyświetlić listę zainstalowanych zestawów SDK i dotnet --list-runtimes listę środowisk uruchomieniowych. Aby uzyskać więcej informacji, zobacz Jak sprawdzić, czy platforma .NET jest już zainstalowana.

Odinstalowywanie platformy .NET

Platforma .NET używa okna dialogowego Aplikacje i funkcje systemu Windows do usuwania wersji środowiska uruchomieniowego platformy .NET i zestawu SDK. Na poniższej ilustracji przedstawiono okno dialogowe Aplikacje i funkcje . Aby filtrować i wyświetlać zainstalowane wersje platformy .NET, możesz wyszukać rdzeń lub .net .

Dodawanie/usuwanie programów w celu usunięcia platformy .NET

Wybierz wszystkie wersje, które chcesz usunąć z komputera, a następnie kliknij przycisk Odinstaluj.

Najlepszym sposobem odinstalowania platformy .NET jest dublowanie akcji użytej do zainstalowania platformy .NET. Szczegóły zależą od wybranej dystrybucji systemu Linux i metody instalacji.

Wersje zapoznawcza są instalowane ręcznie i muszą zostać ręcznie odinstalowane. Aby uzyskać więcej informacji, zobacz sekcję Skrypty lub ręczne .

Ważne

W przypadku instalacji oprogramowania Red Hat zapoznaj się z dokumentacją produktu Red Hat dla platformy .NET.

W przypadku instalacji platformy .NET można usunąć następujące typy:

Menedżer pakietów

Nie trzeba najpierw odinstalować zestawu .NET SDK podczas uaktualniania go przy użyciu menedżera pakietów, chyba że uaktualniasz z wersji zapoznawczej, która została ręcznie zainstalowana. Menedżer update pakietów lub refresh polecenia automatycznie usunie starszą wersję po pomyślnej instalacji nowszej wersji. Jeśli masz zainstalowaną wersję zapoznawcza, odinstaluj ją.

Jeśli zainstalowano platformę .NET przy użyciu menedżera pakietów, użyj tego samego menedżera pakietów, aby odinstalować zestaw .NET SDK lub środowisko uruchomieniowe. Instalacje platformy .NET obsługują najpopularniejszych menedżerów pakietów. Zapoznaj się z dokumentacją menedżera pakietów dystrybucji, aby uzyskać dokładną składnię w danym środowisku:

  • apt-get(8) jest używany przez systemy oparte na debianie, w tym Ubuntu.
  • Język yum(8) jest używany w systemach Fedora, CentOS, Oracle Linux i RHEL.
  • Program zypper(8) jest używany w systemach openSUSE i SUSE Linux Enterprise System (SLES).
  • System dnf(8) jest używany w fedora.

W prawie wszystkich przypadkach polecenie usunięcia pakietu to remove.

Nazwa pakietu instalacji zestawu .NET SDK dla większości menedżerów pakietów to dotnet-sdk, a po nim numer wersji. Wymagane są tylko numery wersji głównej i pomocniczej: na przykład zestaw .NET SDK w wersji 8.0.200 można odwoływać się jako pakiet dotnet-sdk-8.0.

W przypadku maszyn, które zainstalowały tylko środowisko uruchomieniowe, a nie zestaw SDK, nazwa pakietu dotyczy dotnet-runtime-<version> środowiska uruchomieniowego platformy .NET i aspnetcore-runtime-<version> całego stosu środowiska uruchomieniowego.

Skryptowe lub ręczne

Jeśli zainstalowano platformę .NET przy użyciu skryptu dotnet-install lub wyodrębniając tarball, musisz usunąć platformę .NET przy użyciu metody ręcznej.

Podczas ręcznego /usr/share/dotnet/instalowania platformy .NET jest on zwykle instalowany w katalogu , /usr/lib/dotnet/lub $HOME/.dotnet . Zestaw SDK, środowisko uruchomieniowe i host platformy .NET są instalowane w oddzielnych katalogach podrzędnych. Te katalogi "component" zawierają katalog dla każdej wersji platformy .NET. Usunięcie wersji katalogów powoduje usunięcie tej wersji platformy .NET z systemu. Te katalogi mogą się różnić w zależności od dystrybucji systemu Linux.

Istnieją trzy polecenia, których można użyć, aby dowiedzieć się, gdzie jest zainstalowana platforma .NET: dotnet --list-sdks dla zestawów SDK, dotnet --list-runtimes dla środowisk uruchomieniowych i dotnet --info dla wszystkich elementów. Te polecenia nie wyświetlają listy hostów platformy .NET. Aby określić, które hosty są zainstalowane, sprawdź /usr/share/dotnet/host/fxr/ katalog. Poniższa lista reprezentuje katalogi określonej wersji platformy .NET, gdzie $version zmienna reprezentuje wersję platformy .NET:

  • Zestaw SDK:

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

  • Środowisko uruchomieniowe:

    Środowisko uruchomieniowe jest oparte na określonych środowiskach uruchomieniowych produktu .NET, takich jak Microsoft.AspNetCore.All lub Microsoft.NETCore.App (w szczególności środowisko uruchomieniowe platformy .NET). Są one instalowane w /usr/share/dotnet/shared/$product/$version katalogu, gdzie $product jest środowisko uruchomieniowe produktu. Na przykład mogą zostać wyświetlone następujące katalogi:

    /usr/share/dotnet/shared/Microsoft.NETCore.App/$version/
    /usr/share/dotnet/shared/Microsoft.AspNetCore.App/$version/
    /usr/share/dotnet/shared/Microsoft.AspNetCore.All/$version/
    
  • Host platformy .NET

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

rm -rf Użyj polecenia , aby usunąć wersję platformy .NET. Aby na przykład usunąć zestaw SDK 6.0.406, uruchom następujące polecenie:

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

Ważne

Katalogi wersji mogą nie być zgodne z "wersją", którą odinstalowujesz. Poszczególne środowiska uruchomieniowe i zestawy SDK instalowane w jednej wersji platformy .NET mogą mieć różne wersje. Na przykład być może zainstalowano środowisko uruchomieniowe ASP.NET Core 8, które zainstalowało środowisko uruchomieniowe 8.0.2 ASP.NET Core i środowisko uruchomieniowe 8.0.8 platformy .NET. Każdy z nich ma inny katalog w wersji. Aby uzyskać więcej informacji, zobacz Omówienie sposobu obsługi wersji platformy .NET.

Podczas ręcznego instalowania platformy .NET jest on zwykle instalowany w /usr/local/share/dotnet/ katalogu lub $HOME/.dotnet . Zestaw SDK, środowisko uruchomieniowe i host platformy .NET są instalowane w oddzielnych katalogach podrzędnych. Te katalogi "component" zawierają katalog dla każdej wersji platformy .NET. Usunięcie wersji katalogów powoduje usunięcie tej wersji platformy .NET z systemu. Te katalogi mogą się różnić w zależności od wersji systemu macOS.

Istnieją trzy polecenia, których można użyć, aby dowiedzieć się, gdzie jest zainstalowana platforma .NET: dotnet --list-sdks dla zestawów SDK, dotnet --list-runtimes dla środowisk uruchomieniowych i dotnet --info dla wszystkich elementów. Te polecenia nie wyświetlają listy hostów platformy .NET. Aby określić, które hosty są zainstalowane, sprawdź /usr/local/share/dotnet/host/fxr/ katalog. Poniższa lista reprezentuje katalogi określonej wersji platformy .NET, gdzie $version zmienna reprezentuje wersję platformy .NET:

  • Zestaw SDK:

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

  • Środowisko uruchomieniowe:

    Środowisko uruchomieniowe jest oparte na określonych środowiskach uruchomieniowych produktu .NET, takich jak Microsoft.AspNetCore.All lub Microsoft.NETCore.App (w szczególności środowisko uruchomieniowe platformy .NET). Są one instalowane w /usr/local/share/dotnet/shared/$product/$version katalogu, gdzie $product jest środowisko uruchomieniowe produktu. Na przykład mogą zostać wyświetlone następujące katalogi:

    /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/
    
  • Host platformy .NET

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

rm -rf Użyj polecenia , aby usunąć wersję platformy .NET. Aby na przykład usunąć zestaw SDK 6.0.406, uruchom następujące polecenie:

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

Ważne

Katalogi wersji mogą nie być zgodne z "wersją", którą odinstalowujesz. Poszczególne środowiska uruchomieniowe i zestawy SDK instalowane w jednej wersji platformy .NET mogą mieć różne wersje. Na przykład być może zainstalowano środowisko uruchomieniowe ASP.NET Core 8, które zainstalowało środowisko uruchomieniowe 8.0.2 ASP.NET Core i środowisko uruchomieniowe 8.0.8 platformy .NET. Każdy z nich ma inny katalog w wersji. Aby uzyskać więcej informacji, zobacz Omówienie sposobu obsługi wersji platformy .NET.

Ważne

Jeśli używasz komputera Mac opartego na usłudze Arm, takiego jak jeden z mikroukładem M1, zapoznaj się ze ścieżkami katalogu opisanymi w temacie Instalowanie platformy .NET na komputerach Mac opartych na usłudze Arm.

Narzędzie odinstalowywania platformy .NET

Narzędzie odinstalowywania platformy .NET (dotnet-core-uninstall) umożliwia usuwanie zestawów SDK i środowisk uruchomieniowych platformy .NET z systemu. Dostępna jest kolekcja opcji, aby określić, które wersje mają zostać odinstalowane.

Uwaga

Obecnie narzędzie odinstalowywania platformy .NET nie obsługuje programu .NET 8+. Aby uzyskać więcej informacji na temat harmonogramu wydania narzędzia, zobacz GitHub — dotnet-uninstall-tool Roadmap (Harmonogram działania narzędzia dotnet-uninstall-tool).

Zależność programu Visual Studio od wersji zestawu .NET SDK

Przed programem Visual Studio 2019 w wersji 16.3 instalatory programu Visual Studio nazwały autonomiczny instalator zestawu SDK dla platformy .NET Core w wersji 2.1 lub 2.2. W związku z tym wersje zestawu SDK są wyświetlane w oknie dialogowym Aplikacje i funkcje systemu Windows. Usunięcie zestawów SDK platformy .NET zainstalowanych przez program Visual Studio przy użyciu autonomicznego instalatora może spowodować przerwanie programu Visual Studio. Jeśli program Visual Studio ma problemy po odinstalowaniu zestawów SDK, uruchom polecenie Napraw dla tej konkretnej wersji programu Visual Studio. W poniższej tabeli przedstawiono niektóre zależności programu Visual Studio w wersjach zestawu .NET Core SDK:

Wersja programu Visual Studio Wersja zestawu .NET Core SDK
Visual Studio 2019 w wersji 16.2 Zestaw .NET Core SDK 2.2.4xx, 2.1.8xx
Visual Studio 2019 w wersji 16.1 Zestaw .NET Core SDK 2.2.3xx, 2.1.7xx
Visual Studio 2019 w wersji 16.0 Zestaw .NET Core SDK 2.2.2xx, 2.1.6xx
Visual Studio 2017 w wersji 15.9 Zestaw .NET Core SDK 2.2.1xx, 2.1.5xx
Visual Studio 2017 w wersji 15.8 Zestaw .NET Core SDK 2.1.4xx

Począwszy od programu Visual Studio 2019 w wersji 16.3, program Visual Studio jest odpowiedzialny za własną kopię zestawu .NET SDK. Z tego powodu nie widzisz już tych wersji zestawu SDK w oknie dialogowym Aplikacje i funkcje .

Usuwanie katalogu rezerwowego Narzędzia NuGet

Przed zestawem SDK platformy .NET Core 3.0 instalatory zestawu .NET Core SDK używały katalogu o nazwie NuGetFallbackFolder do przechowywania pamięci podręcznej pakietów NuGet. Ta pamięć podręczna była używana podczas operacji, takich jak dotnet restore lub dotnet build /t:Restore. Folder NuGetFallbackFolder znajduje się w folderze zestawu SDK , w którym zainstalowano platformę .NET. Na przykład może to być folder C:\Program Files\dotnet\sdk\NuGetFallbackFolder w systemie Windows i pod adresem /usr/local/share/dotnet/sdk/NuGetFallbackFolder w systemie macOS.

Możesz usunąć ten katalog, jeśli:

  • Programujesz tylko przy użyciu zestawu .NET Core 3.0 SDK lub .NET 5 lub nowszej wersji.
  • Programujesz przy użyciu zestawu .NET Core SDK w wersjach starszych niż 3.0, ale możesz pracować w trybie online.

Jeśli chcesz usunąć katalog rezerwowy NuGet, możesz go usunąć, ale będziesz potrzebować uprawnień administracyjnych, aby to zrobić.

Nie zaleca się usuwania katalogu dotnet . Spowoduje to usunięcie wszystkich zainstalowanych wcześniej narzędzi globalnych. Ponadto w systemie Windows:

  • Przerwisz program Visual Studio 2019 w wersji 16.3 lub nowszej. Możesz uruchomić polecenie Napraw , aby odzyskać.
  • Jeśli w oknie dialogowym Aplikacje i funkcje istnieją wpisy zestawu .NET Core SDK, zostaną one oddzielone.