Freigeben über


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. .NET-Laufzeitupdates sind in einem Hauptversionsband wie 8.x und 7.x kompatibel. 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 die Windows-Einstellungsseite Apps und Features oder Apps > Installierte Apps, um Versionen der .NET-Runtime und des .NET SDK zu entfernen. Verwenden Sie das Startmenü, um nach Programme hinzufügen oder entfernen zu suchen und die Einstellungsseite zu öffnen. Sehen Sie sich hierzu die folgende Abbildung des Dialogfelds Apps und Features an. Sie können nach Core oder .net suchen, um installierte Versionen von .NET zu filtern und anzuzeigen.

Das Windows-Startmenü mit dem Text „Hinzufügen“ oder „Entfernen“, um nach den Suchergebnissen zu filtern

Suchen Sie auf der Seite „Einstellungen“ nach .net, um die auf Ihrem Computer installierten Versionen zu finden. Wählen Sie ...>Deinstallieren aus, um das Element zu deinstallieren. Wenn Sie Windows 10 verwenden, wählen Sie die Schaltfläche Deinstallieren aus, um das gewünschte Element zu deinstallieren. In der folgenden Abbildung ist die Einstellungsseite Installierte Apps unter Windows 11 dargestellt:

Das Dialogfeld „Installierte Windows-Apps“ mit dem Wort „.net“ in der Suchleiste. Die Ergebnisse zeigen die installierten Versionen von .NET-Framework und .NET.

Wichtig

Wenn das Element, das Sie deinstallieren, angibt, dass es aus Visual Studio stammt, verwenden Sie den Visual Studio-Installer, um diese Versionen von .NET zu entfernen.

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 Stream, 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 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. Weitere Informationen finden Sie unter Übersicht über .NET-Deinstallationstool.

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 und Features angezeigt werden, sind sie verwaist.