.NET-Deinstallationstool

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

Das Tool unterstützt Windows und macOS. Linux wird aktuell nicht unterstützt.

Unter Windows kann das Tool nur SDKs und Runtimes deinstallieren, die mit einem der folgenden Installationsprogramme installiert wurden:

  • .NET SDK- und -Runtime-Installer
  • Visual Studio-Installer in früheren Versionen als Visual Studio 2019, Version 16.3.

Unter macOS kann das Tool nur SDKs und Runtimes deinstallieren, die sich im Ordner /usr/local/share/dotnet befinden.

Aufgrund dieser Einschränkungen ist das Tool möglicherweise nicht in der Lage, alle .NET SDKs und -Runtimes auf Ihrem Computer zu deinstallieren. Mit dem Befehl dotnet --info können Sie alle installierten .NET SDKs und -Runtimes ermitteln, einschließlich der SDKs und Runtimes, die dieses Tool nicht entfernen kann. Der Befehl dotnet-core-uninstall list zeigt an, welche SDKs mit dem Tool deinstalliert werden können.

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.

Installieren des Tools

Sie können das .NET-Deinstallationstool auf der Seite mit den Releases des Tools herunterladen. Den Quellcode finden Sie im GitHub-Repository dotnet/cli-lab.

Hinweis

Das Tool erfordert eine Rechteerweiterung, um .NET SDKs und .NET-Runtimes zu deinstallieren. Daher sollte es in einem Verzeichnis mit schreibgeschütztem Zugriff installiert werden, z. B. in C:\Programme unter Windows oder in /usr/local/bin unter macOS. Weitere Informationen finden Sie unter Erhöhte Zugriffsrechte für dotnet-Befehle und in den ausführlichen Installationsanweisungen.

Ausführen des Tools

Die folgenden Schritte zeigen die empfohlene Vorgehensweise zum Ausführen des Deinstallationstools:

Schritt 1: Anzeigen installierter .NET SDKs und .NET-Runtimes

Mit dem Befehl dotnet-core-uninstall list werden die installierten .NET SDKs und .NET-Runtimes aufgelistet, die mit diesem Tool entfernt werden können. Einige SDKs und Runtimes werden möglicherweise von Visual Studio benötigt, und Sie werden in einem Hinweis darüber informiert, warum eine Deinstallation nicht empfohlen wird.

Hinweis

Die Ausgabe des dotnet-core-uninstall list-Befehls stimmt in den meisten Fällen nicht mit der Liste der installierten Versionen in der Ausgabe von dotnet --info überein. Insbesondere zeigt dieses Tool keine Versionen an, die über ZIP-Dateien installiert oder von Visual Studio verwaltet werden (alle Versionen, die mit Visual Studio 2019, Version 16.3 oder höher installiert wurden). Eine Möglichkeit zur Überprüfung, ob eine Version von Visual Studio verwaltet wird, besteht darin, sie in Add or Remove Programs anzuzeigen. Hier werden in Visual Studio verwaltete Versionen in ihren Anzeigenamen als solche gekennzeichnet.

Weitere Informationen finden Sie im Abschnitt list-Befehl weiter unten in diesem Artikel.

Schritt 2: Ausführen eines Testlaufs

Mit den Befehlen dotnet-core-uninstall dry-run und dotnet-core-uninstall whatif werden die .NET SDKs und -Runtimes angezeigt, die auf Grundlage der angegebenen Optionen ohne Ausführung der Deinstallation entfernt werden. Diese Befehle sind Synonyme.

Weitere Informationen finden Sie im Abschnitt dry-run- und whatif-Befehle weiter unten in diesem Artikel.

Schritt 3: Deinstallieren von .NET SDKs und .NET-Runtimes

Mit dem Befehl dotnet-core-uninstall remove werden .NET SDKs und -Runtimes deinstalliert, die durch eine Sammlung von Optionen angegeben werden.

Da dieses Tool ein destruktives Verhalten aufweist, wird unbedingt empfohlen, vor dem Ausführen des Entfernungsbefehls einen Testlauf auszuführen. Der Testlauf zeigt Ihnen, welche .NET SDKs und -Runtimes entfernt werden, wenn Sie den Befehl remove verwenden. Lesen Sie Sollte ich eine Version entfernen?, um zu erfahren, welche SDKs und Runtimes sicher entfernt werden können.

Achtung

Beachten Sie die folgenden Vorbehalte:

  • Dieses Tool kann Versionen des .NET SDK deinstallieren, die von global.json-Dateien auf Ihrem Computer benötigt werden. Sie können .NET SDKs über die Seite .NET herunterladen neu installieren.
  • Dieses Tool kann Versionen der .NET-Runtime deinstallieren, die von frameworkabhängigen Anwendungen auf Ihrem Computer benötigt werden. Sie können .NET-Runtimes über die Seite .NET herunterladen neu installieren.
  • Dieses Tool kann Versionen des .NET SDK und der -Runtime deinstallieren, die von Visual Studio benötigt werden. Wenn Sie Ihre Visual Studio-Installation beschädigen, führen Sie „Reparieren“ im Visual Studio-Installer aus, um zu einem funktionsfähigen Zustand zurückzukehren.

Standardmäßig behalten alle Befehle die .NET SDKs und -Runtimes bei, die möglicherweise von Visual Studio oder anderen SDKs benötigt werden. Diese SDKs und Runtimes können deinstalliert werden, indem sie explizit als Argumente aufgelistet werden oder indem die Option --force verwendet wird.

Das Tool erfordert eine Rechteerweiterung, um .NET SDKs und .NET-Runtimes zu deinstallieren. Führen Sie das Tool in einer Administratoreingabeaufforderung unter Windows und mit sudo unter macOS aus. Die Befehle dry-run und whatif erfordern keine Erhöhung der Rechte.

Weitere Informationen finden Sie im Abschnitt remove-Befehl weiter unten in diesem Artikel.

Schritt 4: Löschen des NuGet-Fallbackordners (optional)

In einigen Fällen benötigen Sie NuGetFallbackFolder nicht mehr und möchten den Ordner ggf. löschen. Weitere Informationen finden Sie unter Entfernen des NuGet-Fallbackordners.

Deinstallieren des Tools

  1. Öffnen Sie Software.
  2. Suchen Sie nach Microsoft .NET SDK Uninstall Tool.
  3. Wählen Sie Deinstallieren aus.

list-Befehl

Übersicht

dotnet-core-uninstall list [options]

Optionen

  • --aspnet-runtime

    Listet alle ASP.NET-Runtimes auf, die mit diesem Tool deinstalliert werden können.

  • --hosting-bundle

    Hiermit werden alle .NET-Hostingpakete aufgelistet, die mit diesem Tool deinstalliert werden können.

  • --runtime

    Listet alle .NET-Runtimes auf, die mit diesem Tool deinstalliert werden können.

  • --sdk

    Listet alle .NET SDKs auf, die mit diesem Tool deinstalliert werden können.

  • -v, --verbosity <LEVEL>

    Legt den Ausführlichkeitsgrad fest. Zulässige Werte sind q[uiet], m[inimal], n[ormal], d[etailed] und diag[nostic]. Der Standardwert ist normal.

  • --x64

    Listet alle x64-.NET SDKs und -Runtimes auf, die mit diesem Tool deinstalliert werden können.

  • --x86

    Listet alle x86-.NET SDKs und -Runtimes auf, die mit diesem Tool deinstalliert werden können.

Beispiele

  • Listet alle .NET SDKs und -Runtimes auf, die mit diesem Tool entfernt werden können:

    dotnet-core-uninstall list
    
  • Listet alle x64-.NET SDKs und -Runtimes auf:

    dotnet-core-uninstall list --x64
    
  • Listet alle x86-.NET SDKs auf:

    dotnet-core-uninstall list --sdk --x86
    

Befehle dry-run und whatif

Übersicht

dotnet-core-uninstall dry-run [options] [<VERSION>...]

dotnet-core-uninstall whatif [options] [<VERSION>...]

Argumente

VERSION

Die angegebene Version, die deinstalliert werden soll. Sie können mehrere Versionen nacheinander (getrennt durch Leerzeichen) auflisten. Antwortdateien werden ebenfalls unterstützt.

Tipp

Antwortdateien sind eine Alternative zum Eingeben aller Versionen in die Befehlszeile. Hierbei handelt es sich um Textdateien (in der Regel mit der Erweiterung *.rsp), und jede Version wird in einer separaten Zeile aufgeführt. Um eine Antwortdatei für das VERSION-Argument anzugeben, verwenden Sie das @-Zeichen, direkt gefolgt vom Namen der Antwortdatei.

Optionen

  • --all

    Entfernt alle .NET SDKs und -Runtimes.

  • --all-below <VERSION>[ <VERSION>...]

    Hiermit werden nur die .NET SDKs und -Runtimes mit einer Version entfernt, die älter als die angegebene Version sind. Die angegebene Version bleibt installiert.

  • --all-but <VERSIONS>[ <VERSION>...]

    Entfernt alle .NET SDKs und -Runtimes mit Ausnahme der angegebenen Versionen.

  • --all-but-latest

    Entfernt alle .NET SDKs und -Runtimes mit Ausnahme der höchsten Version.

  • --all-lower-patches

    Entfernt alle .NET SDKs und -Runtimes, die durch höhere Patches abgelöst wurden. Diese Option schützt die Datei global.json.

  • --all-previews

    Entfernt .NET SDKs und -Runtimes, die als Vorschauversion markiert sind.

  • --all-previews-but-latest

    Entfernt .NET SDKs und -Runtimes, die als Vorschauversion markiert sind, mit Ausnahme der höchsten Vorschauversion.

  • --aspnet-runtime

    Entfernt nur die ASP.NET-Runtimes.

  • --hosting-bundle

    Entfernt nur die .NET-Runtimes und Hostingpakete.

  • --major-minor <MAJOR_MINOR>

    Entfernt .NET SDKs und -Runtimes, die der angegebenen major.minor-Version entsprechen.

  • --runtime

    Entfernt nur die .NET-Runtimes.

  • --sdk

    Entfernt nur die .NET SDKs.

  • -v, --verbosity <LEVEL>

    Legt den Ausführlichkeitsgrad fest. Zulässige Werte sind q[uiet], m[inimal], n[ormal], d[etailed] und diag[nostic]. Der Standardwert ist normal.

  • --x64

    Muss mit --sdk, --runtimeund --aspnet-runtime verwendet werden, um x64-SDKs oder-Runtimes zu entfernen.

  • --x86

    Muss mit --sdk, --runtimeund --aspnet-runtime verwendet werden, um x86-SDKs oder-Runtimes zu entfernen.

  • --force

    Erzwingt das Entfernen von Versionen, die möglicherweise von Visual Studio verwendet werden.

Hinweis

  • Genau ein Element --sdk, --runtime, --aspnet-runtime und --hosting-bundle ist erforderlich.
  • --all, --all-below, --all-but, --all-but-latest, --all-lower-patches, --all-previews, --all-previews-but-latest, --major-minor und [<VERSION>...] sind exklusiv.
  • Wenn --x64 oder --x86 nicht angegeben wird, werden sowohl x64- als auch x86-Versionen entfernt.

Beispiele

Hinweis

Standardmäßig sind .NET SDKs und -Runtimes, die möglicherweise von Visual Studio oder anderen SDKs benötigt werden, nicht in der Ausgabe von dotnet-core-uninstall dry-run enthalten. In den folgenden Beispielen sind – abhängig vom Zustand des Computers – einige der angegebenen SDKs und Runtimes möglicherweise nicht in der Ausgabe enthalten. Wenn Sie alle SDKs und Runtimes einbeziehen möchten, listen Sie diese explizit als Argumente auf, oder verwenden Sie die Option --force.

  • Testlauf zum Entfernen aller .NET-Runtimes, die durch höhere Patches abgelöst wurden:

    dotnet-core-uninstall dry-run --all-lower-patches --runtime
    
  • Testlauf zum Entfernen aller .NET SDKs mit einer niedrigeren Version als 2.2.301:

    dotnet-core-uninstall whatif --all-below 2.2.301 --sdk
    

remove-Befehl

Übersicht

dotnet-core-uninstall remove [options] [<VERSION>...]

Argumente

VERSION

Die angegebene Version, die deinstalliert werden soll. Sie können mehrere Versionen nacheinander (getrennt durch Leerzeichen) auflisten. Antwortdateien werden ebenfalls unterstützt.

Tipp

Antwortdateien sind eine Alternative zum Eingeben aller Versionen in die Befehlszeile. Hierbei handelt es sich um Textdateien (in der Regel mit der Erweiterung *.rsp), und jede Version wird in einer separaten Zeile aufgeführt. Um eine Antwortdatei für das VERSION-Argument anzugeben, verwenden Sie das @-Zeichen, direkt gefolgt vom Namen der Antwortdatei.

Optionen

  • --all

    Entfernt alle .NET SDKs und -Runtimes.

  • --all-below <VERSION>[ <VERSION>...]

    Hiermit werden nur die .NET SDKs und -Runtimes mit einer Version entfernt, die älter als die angegebene Version sind. Die angegebene Version bleibt installiert.

  • --all-but <VERSIONS>[ <VERSION>...]

    Entfernt alle .NET SDKs und -Runtimes mit Ausnahme der angegebenen Versionen.

  • --all-but-latest

    Entfernt alle .NET SDKs und -Runtimes mit Ausnahme der höchsten Version.

  • --all-lower-patches

    Entfernt alle .NET SDKs und -Runtimes, die durch höhere Patches abgelöst wurden. Diese Option schützt die Datei global.json.

  • --all-previews

    Entfernt .NET SDKs und -Runtimes, die als Vorschauversion markiert sind.

  • --all-previews-but-latest

    Entfernt .NET SDKs und -Runtimes, die als Vorschauversion markiert sind, mit Ausnahme der höchsten Vorschauversion.

  • --aspnet-runtime

    Entfernt nur die ASP.NET-Runtimes.

  • --hosting-bundle

    Entfernt nur die .NET-Hostingpakete.

  • --major-minor <MAJOR_MINOR>

    Entfernt .NET SDKs und -Runtimes, die der angegebenen major.minor-Version entsprechen.

  • --runtime

    Entfernt nur die .NET-Runtimes.

  • --sdk

    Entfernt nur die .NET SDKs.

  • -v, --verbosity <LEVEL>

    Legt den Ausführlichkeitsgrad fest. Zulässige Werte sind q[uiet], m[inimal], n[ormal], d[etailed] und diag[nostic]. Der Standardwert ist normal.

  • --x64

    Muss mit --sdk, --runtimeund --aspnet-runtime verwendet werden, um x64-SDKs oder-Runtimes zu entfernen.

  • --x86

    Muss mit --sdk, --runtimeund --aspnet-runtime verwendet werden, um x86-SDKs oder-Runtimes zu entfernen.

  • -y, --yes

    Führt den Befehl aus, ohne dass eine Bestätigung mit „Ja“ oder „Nein“ erforderlich ist.

  • --force

    Erzwingt das Entfernen von Versionen, die möglicherweise von Visual Studio verwendet werden.

Hinweis

  • Genau ein Element --sdk, --runtime, --aspnet-runtime und --hosting-bundle ist erforderlich.
  • --all, --all-below, --all-but, --all-but-latest, --all-lower-patches, --all-previews, --all-previews-but-latest, --major-minor und [<VERSION>...] sind exklusiv.
  • Wenn --x64 oder --x86 nicht angegeben wird, werden sowohl x64- als auch x86-Versionen entfernt.

Beispiele

Hinweis

Standardmäßig werden .NET SDKs und -Runtimes beibehalten, die möglicherweise von Visual Studio oder anderen SDKs benötigt werden. In den folgenden Beispielen werden – abhängig vom Zustand des Computers – einige der angegebenen SDKs und Runtimes möglicherweise beibehalten. Wenn Sie alle SDKs und Runtimes entfernen möchten, listen Sie diese explizit als Argumente auf, oder verwenden Sie die Option --force.

  • Entfernen aller .NET-Runtimes mit Ausnahme der Version 3.0.0-preview6-27804-01, ohne dass eine Ja/Nein-Bestätigung erforderlich ist:

    dotnet-core-uninstall remove --all-but 3.0.0-preview6-27804-01 --runtime --yes
    
  • Entfernen aller .NET Core 1.1 SDKs, ohne dass eine Ja/Nein-Bestätigung erforderlich ist:

    dotnet-core-uninstall remove --sdk --major-minor 1.1 -y
    
  • Entfernen des .NET Core 1.1.11 SDK ohne Konsolenausgabe:

    dotnet-core-uninstall remove 1.1.11 --sdk --yes --verbosity q
    
  • Entfernen aller .NET SDKs, die sicher über dieses Tool entfernt werden können:

    dotnet-core-uninstall remove --all --sdk
    
  • Entfernen aller .NET SDKs, die von diesem Tool entfernt werden können, einschließlich der von Visual Studio benötigten SDKs (nicht empfohlen):

    dotnet-core-uninstall remove --all --sdk --force
    
  • Entfernen aller .NET SDKs, die in der Antwortdatei versions.rsp angegeben sind:

    dotnet-core-uninstall remove --sdk @versions.rsp
    

    Der Inhalt der Datei versions.rsp lautet wie folgt:

    2.2.300
    2.1.700