Come rimuovere il runtime e l'SDK .NET

Scegliere un sistema operativo

Nel corso del tempo, via via che si installano le versioni aggiornate di runtime e SDK di .NET l'utente potrebbe voler rimuovere le versioni obsolete di .NET dal computer. La disinstallazione delle versioni precedenti del runtime può cambiare il runtime scelto per eseguire le applicazioni di framework condiviso, come descritto in dettaglio nell'articolo Scelta della versione di .NET.

Stabilire se è necessario rimuovere una versione

La selezione delle versioni di .NET e la compatibilità di runtime di .NET tra gli aggiornamenti consente la rimozione sicura delle versioni precedenti. Gli aggiornamenti del runtime .NET sono compatibili all'interno di una banda di versioni principale, ad esempio 8.x e 7.x. Inoltre, le nuove versioni di .NET SDK mantengono in genere la possibilità di creare applicazioni destinate a versioni precedenti del runtime in modo compatibile.

In generale, sono necessari solo l'SDK più recente e l'ultima versione patch dei runtime richiesti per l'applicazione. Le istanze in cui si vogliono mantenere le versioni precedenti dell'SDK o del runtime includono le applicazioni basate su project.json. Se l'applicazione non ha ragioni specifiche per mantenere le versioni precedenti di SDK o Runtime, è possibile rimuovere le versioni precedenti in modo sicuro.

Determinare che cosa è installato

La CLI di .NET include opzioni che puoi usare per elencare le versioni di SDK e runtime installate nel computer. Usa dotnet --list-sdks per visualizzare l'elenco degli SDK installati e dotnet --list-runtimes per l'elenco dei runtime. Per altre informazioni, vedi Come verificare che .NET sia già installato.

Disinstallare .NET

.NET usa la pagina delle impostazioni App e funzionalità o App > App installate di Windows per rimuovere versioni del runtime .NET e SDK. Usare il menu Start per cercare Installazione applicazioni per aprire la pagina delle impostazioni, come illustrato nell'immagine seguente. La figura mostra la finestra di dialogo App e funzionalità. Puoi cercare core o .net per filtrare e visualizzare le versioni installate di .NET.

Menu Start di Windows che mostra il testo Aggiungi o Rimuovi per filtrare i risultati della ricerca

Nella pagina delle impostazioni cercare .net per trovare le versioni installate nel computer. Selezionare ...>Disinstalla per disinstallarle. Se si usa Windows 10, selezionare il pulsante Disinstalla per l'elemento che si desidera disinstallare. L'immagine seguente mostra la pagina delle impostazioni App installate in Windows 11:

Finestra di dialogo App installate di Windows con la parola '.net' nella barra di ricerca. I risultati mostrano le versioni di .NET Framework e .NET installate.

Importante

Se l'elemento che si intende disinstallare indica che proviene da Visual Studio, usare il Programma di installazione di Visual Studio per rimuovere queste versioni di .NET.

Il modo migliore per disinstallare .NET è eseguire il mirroring dell'azione usata per installare .NET. Le specifiche variano in base alla distribuzione Linux scelta e al metodo di installazione.

Le versioni di anteprima vengono installate manualmente e devono essere disinstallate manualmente. Per altre informazioni, consulta la sezione Con script o manuale.

Importante

Per le installazioni Red Hat, consulta la documentazione di prodotto Red Hat per .NET.

Se esegui l'installazione di .NET, puoi rimuovere i tipi seguenti:

Strumento di gestione pacchetti

Non è necessario disinstallare prima l’SDK .NET durante l'aggiornamento con una gestione pacchetti, a meno che non si stia eseguendo l'aggiornamento da una versione di anteprima installata manualmente. La gestione pacchetti o i comandi update o refresh rimuoveranno automaticamente la versione precedente al termine dell'installazione di una versione più recente. Se hai installato una versione di anteprima, procedi a disinstallarla.

Se hai installato .NET usando uno strumento di gestione pacchetti, usa la stessa gestione pacchetti per la disinstallazione dell'SDK o runtime .NET. Le installazioni di .NET supportano gli strumenti di gestione pacchetti più diffusi. Consulta la documentazione relativa alla gestione pacchetti della tua distribuzione per l'esatta sintassi nel tuo ambiente:

  • apt-get(8) viene usato dai sistemi basati su Debian, tra cui Ubuntu.
  • yum(8) viene usato in Fedora, CentOS Stream, Oracle Linux e RHEL.
  • zypper(8) viene usato in openSUSE e SUSE Linux Enterprise System (SLES).
  • dnf(8) viene usato in Fedora.

Nella quasi totalità dei casi, il comando per rimuovere un pacchetto è remove.

Il nome del pacchetto per l'installazione di .NET SDK per la maggior parte degli strumenti di gestione pacchetti è dotnet-sdk, seguito dal numero di versione. Sono necessari solo i numeri di versione principale e secondario: ad esempio, .NET SDK versione 8.0.200 può essere indicato come pacchetto dotnet-sdk-8.0.

Per i computer su cui è installato solo il runtime e non l'SDK, il nome del pacchetto è dotnet-runtime-<version> per il runtime di .NET e aspnetcore-runtime-<version> per lo stack di runtime intero.

Con script o manuale

Se .NET è stato installato usando lo script dotnet-install o estraendo un file tarball, è necessario rimuovere .NET usando il metodo manuale.

Quando si installa manualmente .NET, viene in genere installato nella directory /usr/share/dotnet/, /usr/lib/dotnet/o $HOME/.dotnet. L'SDK, il runtime e l'host .NET vengono installati in sottodirectory separate. Queste directory "component" contengono una directory per ogni versione di .NET. Rimuovendo le directory con la versione, rimuoverai tale versione di .NET dal sistema. Queste directory possono variare a seconda della distribuzione Linux.

Sono disponibili tre comandi che puoi usare per individuare dove è installato .NET: dotnet --list-sdks per gli SDK, dotnet --list-runtimes per i runtime e dotnet --info per tutti gli elementi. Questi comandi non elencano l'host .NET. Per determinare quali host sono installati, controlla la directory /usr/share/dotnet/host/fxr/. L'elenco seguente rappresenta le directory di una versione specifica di .NET, dove la variabile $version rappresenta la versione di .NET:

  • SDK:

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

  • Runtime:

    Il runtime si basa su specifici runtime del prodotto .NET, ad esempio Microsoft.AspNetCore.All o Microsoft.NETCore.App (in particolare il runtime .NET). Questi vengono installati nella directory /usr/share/dotnet/shared/$product/$version, dove $product è il runtime del prodotto. Ad esempio, potresti visualizzate le directory seguenti:

    /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 .NET

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

Usa il comando rm -rf per rimuovere una versione di .NET. Ad esempio, per rimuovere l'SDK 6.0.406, esegui il comando seguente:

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

Importante

Le directory di versione potrebbero non corrispondere alla "versione" che stai disinstallando. I singoli runtime e SDK installati con una singola versione .NET potrebbero avere versioni diverse. Ad esempio, è possibile che sia stato installato il runtime ASP.NET Core 8, che ha installato il runtime 8.0.2 ASP.NET Core e il runtime .NET 8.0.8. Ognuno ha una directory con versione diversa. Per altre informazioni, vedi Panoramica di come viene specificata la versione di .NET.

Quando si installa manualmente .NET, viene in genere installato nella directory /usr/local/share/dotnet/ o $HOME/.dotnet. L'SDK, il runtime e l'host .NET vengono installati in sottodirectory separate. Queste directory "component" contengono una directory per ogni versione di .NET. Rimuovendo le directory con la versione, rimuoverai tale versione di .NET dal sistema. Queste directory possono variare a seconda della versione di macOS.

Sono disponibili tre comandi che puoi usare per individuare dove è installato .NET: dotnet --list-sdks per gli SDK, dotnet --list-runtimes per i runtime e dotnet --info per tutti gli elementi. Questi comandi non elencano l'host .NET. Per determinare quali host sono installati, controlla la directory /usr/local/share/dotnet/host/fxr/. L'elenco seguente rappresenta le directory di una versione specifica di .NET, dove la variabile $version rappresenta la versione di .NET:

  • SDK:

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

  • Runtime:

    Il runtime si basa su specifici runtime del prodotto .NET, ad esempio Microsoft.AspNetCore.All o Microsoft.NETCore.App (in particolare il runtime .NET). Questi vengono installati nella directory /usr/local/share/dotnet/shared/$product/$version, dove $product è il runtime del prodotto. Ad esempio, potresti visualizzate le directory seguenti:

    /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 .NET

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

Usa il comando rm -rf per rimuovere una versione di .NET. Ad esempio, per rimuovere l'SDK 6.0.406, esegui il comando seguente:

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

Importante

Le directory di versione potrebbero non corrispondere alla "versione" che stai disinstallando. I singoli runtime e SDK installati con una singola versione .NET potrebbero avere versioni diverse. Ad esempio, è possibile che sia stato installato il runtime ASP.NET Core 8, che ha installato il runtime 8.0.2 ASP.NET Core e il runtime .NET 8.0.8. Ognuno ha una directory con versione diversa. Per altre informazioni, vedi Panoramica di come viene specificata la versione di .NET.

Importante

Se usi un Mac basato su Arm, ad esempio con un chip M1, esamina i percorsi di directory descritti in Installare .NET in Mac basati su Arm.

Strumento di disinstallazione di .NET

Lo strumento di disinstallazione .NET consente di rimuovere gli SDK .NET e i runtime da un sistema. È disponibile una raccolta di opzioni per specificare le versioni da disinstallare. Per maggiori informazioni, consultare la sezione Panoramica dello strumento di disinstallazione .NET.

Rimuovere la directory di fallback NuGet

Prima di .NET Core 3.0 SDK, i programmi di installazione di .NET Core SDK usavano una directory denominata NuGetFallbackFolder per archiviare una cache di pacchetti NuGet. Questa cache è stata usata durante operazioni quali dotnet restore o dotnet build /t:Restore. La NuGetFallbackFolder si trova nella cartella sdk in cui è installato .NET. Ad esempio, potrebbe trovarsi in C:\Programmi\dotnet\sdk\NuGetFallbackFolder su Windows e in /usr/local/share/dotnet/sdk/NuGetFallbackFolder su macOS.

Puoi rimuovere questa directory, se:

  • Stai sviluppando solo con .NET Core 3.0 SDK o .NET 5 o versioni successive.
  • Stai sviluppando usando le versioni di .NET Core SDK precedenti alla 3.0, ma puoi lavorare online.

Se vuoi rimuovere la directory di fallback NuGet, puoi eliminarla, ma sono necessari privilegi di amministratore per farlo.

Non è consigliabile eliminare la directory dotnet. In questo modo verranno rimossi tutti gli strumenti globali installati in precedenza. Inoltre, in Windows:

  • Si interromperà Visual Studio 2019 versione 16.3 e versioni successive. Puoi eseguire Ripristina per il ripristino.
  • Se sono presenti voci di .NET Core SDK nella finestra di dialogo App e funzionalità, saranno orfane.