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 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.
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:
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
oderMicrosoft.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
oderMicrosoft.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:Restore
verwendet. 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.