Entfernen der .NET-Runtime und des .NET SDK

Wenn Sie im Laufe der Zeit aktualisierte Versionen der .NET-Runtime und des .NET SDK installieren, sollten Sie veraltete .NET-Versionen von Ihrem Computer entfernen. Durch das Deinstallieren älterer Runtimeversionen ändert sich möglicherweise die für die Ausführung der freigegebenen Frameworkanwendungen ausgewählte Runtime. Dies wird im Artikel zur Auswahl von .NET-Versionen ausführlich beschrieben.

Sollte ich eine Version entfernen?

Durch das Verhalten bei der .NET-Versionsauswahl und die Runtimekompatibilität von .NET zwischen Updates können frühere Versionen sicher entfernt werden. Updates für die .NET-Runtime sind innerhalb des Bereichs einer Hauptversion kompatibel, z. B. 7.x und 6.x. Darüber hinaus können in neueren Releases des .NET SDK in der Regel Anwendungen erstellt werden, die mit früheren Versionen der Runtime kompatibel sind.

Im Allgemeinen benötigen Sie nur das neueste SDK und die neueste Patchversion der Laufzeiten, die für Ihre Anwendung erforderlich sind. Instanzen, auf denen ältere SDK-Versionen oder Runtimeversionen verwendet werden sollten, beinhalten die Verwaltung von auf project.json basierenden Anwendungen. Sie können ältere Versionen sicher entfernen, wenn Ihre Anwendung keine bestimmten Gründe für frühere SDKs oder Laufzeiten aufweist.

Feststellen, was installiert ist

Die .NET-CLI umfasst Optionen, mit denen Sie die auf Ihrem Computer installierten Versionen des SDK und der Runtime auflisten können. Verwenden Sie dotnet --list-sdks, um die Liste der installierten SDKs anzuzeigen, und dotnet --list-runtimes für die Liste der Runtimes. Weitere Informationen finden Sie unter Überprüfen, ob .NET Core bereits installiert ist.

Deinstallieren von .NET

.NET verwendet das Windows-Dialogfeld Apps & Features, um Versionen der .NET-Runtime und des .NET SDK zu entfernen. Auf der folgenden Abbildung sehen Sie das Dialogfeld Apps & Features. Sie können nach Core oder .net suchen, um installierte Versionen von .NET zu filtern und anzuzeigen.

Hinzufügen/Entfernen von Programmen zum Entfernen von .NET

Wählen Sie sämtliche Versionen aus, die Sie von Ihrem Computer entfernen möchten, und klicken Sie auf Deinstallieren.

Die beste Möglichkeit zur Deinstallation von .NET besteht in der Spiegelung der für die Installation von .NET verwendeten Aktion. Die Details hängen von Ihrer gewählten Linux-Verteilung und der Installationsmethode ab.

Vorschauversionen werden manuell installiert und müssen manuell deinstalliert werden. Weitere Informationen finden Sie im Abschnitt Skriptgesteuert oder manuell.

Wichtig

Informationen zu Red Hat-Installationen finden Sie in der Red Hat-Produktdokumentation für .NET.

Sie können die folgenden Arten von .NET-Installationen entfernen:

Paket-Manager

Das .NET SDK muss nicht erst deinstalliert werden, wenn mithilfe eines Paket-Managers ein Upgrade durchgeführt wird, es sei denn, Sie führen ein Upgrade von einer früheren Version durch, die manuell installiert wurde. Mit dem Befehl update oder refresh des Paket-Managers werden die älteren Versionen nach erfolgreicher Installation einer neueren Version automatisch entfernt. Wenn Sie eine Vorschauversion installiert haben, deinstallieren Sie diese.

Wenn Sie .NET mithilfe eines Paket-Managers installiert haben, können Sie für die Deinstallation des .NET SDK oder der -Runtime denselben Paket-Manager verwenden. .NET-Installationen unterstützen die beliebtesten Paket-Manager. In der Dokumentation zu dem Paket-Manager Ihrer Distribution finden Sie die genaue Syntax in Ihrer Umgebung:

  • apt-get(8) wird von Debian-basierten Systemen, einschließlich Ubuntu, verwendet.
  • yum(8) wird für Fedora, CentOS, Oracle Linux und RHEL verwendet.
  • zypper(8) wird unter openSUSE und SUSE Linux Enterprise System (SLES) verwendet.
  • dnf(8) wird unter Fedora verwendet.

In fast allen Fällen lautet der Befehl zum Entfernen eines Pakets remove.

Der Paketname für die .NET SDK-Installation lautet bei den meisten Paket-Managern dotnet-sdk, gefolgt von der Versionsnummer. Es sind nur die Haupt- und Nebenversionsnummern erforderlich: Beispielsweise kann auf die .NET SDK-Version 8.0.200 als Paket dotnet-sdk-8.0 verwiesen werden.

Bei Computern, auf denen nur die Runtime und nicht das SDK installiert ist, lautet der Paketname für die .NET-Runtime dotnet-runtime-<version> und für den gesamten Runtimestapel aspnetcore-runtime-<version>.

Skriptgesteuert oder manuell

Wenn Sie .NET mithilfe des dotnet-install-Skripts oder durch Tarball-Extrahierung installiert haben, müssen Sie .NET mit der manuellen Methode entfernen.

Wenn Sie .NET manuell installieren, wird es in der Regel in das Verzeichnis /usr/share/dotnet/, /usr/lib/dotnet/ oder $HOME/.dotnet installiert. Das SDK, die Runtime und der .NET-Host werden in separaten Unterverzeichnissen installiert. Diese „Komponentenverzeichnisse“ enthalten ein Verzeichnis für jede Version von .NET. Indem Sie die Verzeichnisse mit Versionsangabe entfernen, löschen Sie diese Version von .NET aus Ihrem System. Diese Verzeichnisse können von Ihrer Linux-Distribution abweichen.

Es gibt drei Befehle, mit denen Sie entdecken können, wo .NET installiert ist: dotnet --list-sdks für SDKs, dotnet --list-runtimes für Runtimes und dotnet --info für alles. Diese Befehle listen nicht den .NET-Host auf. Um zu ermitteln, welche Hosts installiert sind, überprüfen Sie das Verzeichnis /usr/share/dotnet/host/fxr/. Die folgende Liste enthält die Verzeichnisse einer bestimmten Version von .NET, wobei die Variable $version für die Version von .NET steht:

  • SDK:

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

  • Laufzeit:

    Die Runtime basiert auf bestimmten .NET-Produktruntimes, z. B. Microsoft.AspNetCore.All oder Microsoft.NETCore.App (speziell die .NET-Runtime). Diese werden in das Verzeichnis /usr/share/dotnet/shared/$product/$version installiert, wobei $product die Runtime des Produkts ist. Sie können z. B. die folgenden Verzeichnisse sehen:

    /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-Host

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

Verwenden Sie den Befehl rm -rf, um eine Version von .NET zu entfernen. Um z. B. das SDK 6.0.406 zu entfernen, führen Sie den folgenden Befehl aus:

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

Wichtig

Die Versionsverzeichnisse stimmen möglicherweise nicht mit der „Version“ überein, die Sie deinstallieren. Die einzelnen Runtimes und SDKs, die mit einer einzelnen .NET-Version installiert sind, können unterschiedliche Versionen aufweisen. Möglicherweise haben Sie die ASP.NET Core 8-Runtime installiert, die die 8.0.2 ASP.NET Core-Runtime und die 8.0.8 .NET-Runtime installiert hat. Jede verfügt über ein anderes Verzeichnis mit Versionsangabe. Weitere Informationen finden Sie unter Überblick darüber, wie .NET versioniert ist.

Wenn Sie .NET manuell installieren, wird es in der Regel in das/usr/local/share/dotnet/- oder $HOME/.dotnet-Verzeichnis installiert. Das SDK, die Runtime und der .NET-Host werden in separaten Unterverzeichnissen installiert. Diese „Komponentenverzeichnisse“ enthalten ein Verzeichnis für jede Version von .NET. Indem Sie die Verzeichnisse mit Versionsangabe entfernen, löschen Sie diese Version von .NET aus Ihrem System. Diese Verzeichnisse können je nach macOS-Version variieren.

Es gibt drei Befehle, mit denen Sie entdecken können, wo .NET installiert ist: dotnet --list-sdks für SDKs, dotnet --list-runtimes für Runtimes und dotnet --info für alles. Diese Befehle listen nicht den .NET-Host auf. Um zu ermitteln, welche Hosts installiert sind, überprüfen Sie das Verzeichnis /usr/local/share/dotnet/host/fxr/. Die folgende Liste enthält die Verzeichnisse einer bestimmten Version von .NET, wobei die Variable $version für die Version von .NET steht:

  • SDK:

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

  • Laufzeit:

    Die Runtime basiert auf bestimmten .NET-Produktruntimes, z. B. Microsoft.AspNetCore.All oder Microsoft.NETCore.App (speziell die .NET-Runtime). Diese werden in das Verzeichnis /usr/local/share/dotnet/shared/$product/$version installiert, wobei $product die Runtime des Produkts ist. Sie können z. B. die folgenden Verzeichnisse sehen:

    /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-Host

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

Verwenden Sie den Befehl rm -rf, um eine Version von .NET zu entfernen. Um z. B. das SDK 6.0.406 zu entfernen, führen Sie den folgenden Befehl aus:

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

Wichtig

Die Versionsverzeichnisse stimmen möglicherweise nicht mit der „Version“ überein, die Sie deinstallieren. Die einzelnen Runtimes und SDKs, die mit einer einzelnen .NET-Version installiert sind, können unterschiedliche Versionen aufweisen. Möglicherweise haben Sie die ASP.NET Core 8-Runtime installiert, die die 8.0.2 ASP.NET Core-Runtime und die 8.0.8 .NET-Runtime installiert hat. Jede verfügt über ein anderes Verzeichnis mit Versionsangabe. Weitere Informationen finden Sie unter Überblick darüber, wie .NET versioniert ist.

Wichtig

Wenn Sie einen ARM-basierten Mac-Computer verwenden (z. B. einen Computer mit einem M1-Chip), überprüfen Sie die Verzeichnispfade, die unter Installieren von .NET auf ARM-basierten Mac-Computern beschrieben werden.

.NET-Deinstallationstool

Mit dem .NET-Deinstallationstool (dotnet-core-uninstall) können Sie .NET SDKs und .NET-Runtimes aus einem System entfernen. Hierfür stehen Ihnen verschiedene Optionen zur Verfügung, um anzugeben, welche Versionen deinstalliert werden sollen.

Hinweis

Derzeit unterstützt das .NET-Deinstallationstool .NET 8+ nicht. Weitere Informationen zum Veröffentlichungszeitplan des Tools finden Sie unter GitHub – Roadmap des dotnet-uninstall-Tool.

Visual-Studio-Abhängigkeit von .NET-SDK-Versionen

Vor der Visual-Studio-2019-Version 16.3 haben Visual-Studio-Installationsprogramme das eigenständige SDK-Installationsprogramm für die .NET-Core-Version 2.1 oder 2.2 aufgerufen. Folglich werden die SDK-Versionen im Dialogfeld Windows-Dialogfeld Apps & Features angezeigt. Das Entfernen von .NET-SDKs, die von Visual Studio mit dem eigenständigen Installationsprogramm installiert wurden, kann dazu führen, dass Visual Studio nicht mehr funktioniert. Wenn in Visual Studio nach der Deinstallation von SDKs Probleme auftreten, führen Sie „Reparieren“ für diese bestimmte Version von Visual Studio aus. In der folgenden Tabelle werden einige der Visual Studio-Abhängigkeiten von .NET Core SDK-Versionen gezeigt:

Visual Studio-Version .NET Core SDK-Version
Visual Studio 2019 Version 16.2 .NET Core SDK 2.2.4xx, 2.1.8xx
Visual Studio 2019 Version 16.1 .NET Core SDK 2.2.3xx, 2.1.7xx
Visual Studio 2019, Version 16.0 .NET Core SDK 2.2.2xx, 2.1.6xx
Visual Studio 2017 Version 15.9 .NET Core SDK 2.2.1xx, 2.1.5xx
Visual Studio 2017 Version 15.8 .NET Core SDK 2.1.4xx

Ab Visual Studio 2019, Version 16.3, verwaltet Visual Studio eine eigene Kopie des .NET SDK. Aus diesem Grund werden diese SDK-Versionen nicht mehr im Dialogfeld Apps & Features angezeigt.

Entfernen des NuGet-Fallbackverzeichnisses

Vor dem .NET Core 3.0 SDK verwendeten die .NET Core SDK-Installationsprogramme das Verzeichnis NuGetFallbackFolder, um einen Cache mit NuGet-Paketen zu speichern. Dieser Cache wurde bei Vorgängen wie dotnet restore oder dotnet build /t:Restoreverwendet. Der Ordner NuGetFallbackFolder befand sich unter dem Ordner sdk, in dem .NET installiert ist. Er könnte z. B. in C:\Programme\dotnet\sdk\NuGetFallbackFolder unter Windows und in /usr/local/share/dotnet/sdk/NuGetFallbackFolder unter macOS liegen.

Sie möchten dieses Verzeichnis vielleicht in folgenden Situationen entfernen:

  • Sie entwickeln nur mit dem .NET Core 3.0 SDK oder mit .NET 5 oder höheren Versionen.
  • Sie entwickeln mit .NET Core SDK-Versionen vor 3.0, können aber online arbeiten.

Wenn Sie das NuGet-Fallback-Verzeichnis entfernen möchten, können Sie es löschen, aber hierfür benötigen Sie Administratorberechtigungen.

Es wird nicht empfohlen, das Verzeichnis dotnet zu löschen. Dadurch würden Sie alle globalen Tools entfernen, die Sie zuvor installiert haben. Unter Windows gilt außerdem:

  • Sie verlieren die Funktionalität von Visual Studio 2019 Version 16.3 und höheren Versionen. Zum Wiederherstellen können Sie Reparieren ausführen.
  • Wenn .NET Core SDK-Einträge im Dialogfeld Apps & Features angezeigt werden, sind sie verwaist.