Strumento di disinstallazione di .NET

Lo strumento di disinstallazione di .NET (dotnet-core-uninstall) consente di rimuovere SDK e runtime .NET da un sistema. È disponibile una raccolta di opzioni per specificare le versioni da disinstallare.

Lo strumento supporta Windows e macOS. Linux non è attualmente supportato.

In Windows lo strumento può disinstallare solo gli SDK e i runtime installati usando uno dei programmi di installazione seguenti:

  • Programma di installazione di .NET SDK e del runtime.
  • Programma di installazione di Visual Studio nelle versioni precedenti a Visual Studio 2019 versione 16.3.

In macOS lo strumento può disinstallare solo gli SDK e i runtime che si trovano nella cartella /usr/local/share/dotnet.

A causa di queste limitazioni, lo strumento potrebbe non essere in grado di disinstallare tutti gli SDK e i runtime .NET presenti nel computer. È possibile usare il comando dotnet --info per trovare tutti gli SDK e i runtime .NET installati, inclusi quelli che lo strumento non può rimuovere. Il comando dotnet-core-uninstall list mostra gli SDK che è possibile disinstallare con lo strumento.

Nota

Attualmente, lo strumento di disinstallazione .NET non supporta .NET 8+. Per altre informazioni sulla pianificazione del rilascio dello strumento, vedere GitHub - dotnet-uninstall-tool Roadmap.

Installare lo strumento

È possibile scaricare lo strumento di disinstallazione .NET dalla pagina delle versioni dello strumento e trovare il codice sorgente nel repository GitHub dotnet/cli-lab.

Nota

Lo strumento richiede l'elevazione per disinstallare SDK e runtime .NET. Va pertanto installato in una directory protetta dalla scrittura, ad esempio C:\Programmi in Windows o /usr/local/bin in macOS. Per altre informazioni, vedere Accesso con privilegi elevati per comandi dotnet e le istruzioni dettagliate per l'installazione.

Esegui lo strumento

I passaggi seguenti illustrano l'approccio consigliato per l'esecuzione dello strumento di disinstallazione:

Passaggio 1: Visualizzare gli SDK e i runtime .NET installati

Il comando dotnet-core-uninstall list elenca gli SDK e i runtime .NET installati che è possibile rimuovere con questo strumento. Alcuni SDK e runtime potrebbero essere richiesti da Visual Studio e vengono visualizzati con una nota che indica il motivo per cui non è consigliabile disinstallarli.

Nota

Nella maggior parte dei casi, l'output del comando dotnet-core-uninstall list non corrisponderà all'elenco delle versioni installate nell'output di dotnet --info. In particolare, questo strumento non visualizzerà le versioni installate da file ZIP o gestite da Visual Studio, ovvero qualsiasi versione installata con Visual Studio 2019 versione 16.3 o successiva. Un modo per verificare se una versione è gestita da Visual Studio consiste nel visualizzarla in Add or Remove Programs, dove le versioni gestite di Visual Studio sono contrassegnate come tali nel nome visualizzato.

Per altre informazioni, vedere la sezione sul comando list più avanti in questo articolo.

Passaggio 2: Eseguire una simulazione

I comandi dotnet-core-uninstall dry-run e dotnet-core-uninstall whatif visualizzano gli SDK e i runtime .NET che verranno rimossi in base alle opzioni fornite, senza però eseguire la disinstallazione. Questi comandi sono sinonimi.

Per altre informazioni, vedere la sezione sui comandi dry-run e whatif più avanti in questo articolo.

Passaggio 3: Disinstallare SDK e runtime .NET

dotnet-core-uninstall remove disinstalla gli SDK e i runtime .NET specificati da una raccolta di opzioni.

Poiché questo strumento ha un comportamento distruttivo, si consiglia vivamente di eseguire una simulazione prima di eseguire il comando remove. La simulazione mostrerà gli SDK e i runtime .NET che verranno rimossi usando il comando remove. Per informazioni su quali SDK e runtime è possibile rimuovere senza problemi, vedere Stabilire se è necessario rimuovere una versione.

Attenzione

Tenere presenti le indicazioni seguenti:

  • Questo strumento può disinstallare le versioni di .NET SDK richieste dai file global.json nel computer. È possibile reinstallare gli SDK .NET dalla pagina di download di .NET.
  • Questo strumento può disinstallare versioni del runtime .NET richieste dalle applicazioni dipendenti dal framework presenti nel computer. È possibile reinstallare i runtime .NET dalla pagina di download di .NET.
  • Questo strumento può disinstallare le versioni dell'SDK e del runtime .NET su cui si basa Visual Studio. Se si danneggia l'installazione di Visual Studio, eseguire "Ripara" nel programma di installazione di Visual Studio per tornare a uno stato funzionante.

Per impostazione predefinita, tutti i comandi mantengono gli SDK e i runtime .NET richiesti da Visual Studio o da altri SDK. Questi SDK e runtime possono essere disinstallati elencandoli in modo esplicito come argomenti oppure usando l'opzione --force.

Lo strumento richiede l'elevazione per disinstallare SDK e runtime .NET. Eseguire lo strumento in un prompt dei comandi dell'amministratore in Windows e con sudo in macOS. I comandi dry-run e whatif non richiedono l'elevazione.

Per altre informazioni, vedere la sezione sul comando remove più avanti in questo articolo.

Passaggio 4: Eliminare la cartella di fallback di NuGet (facoltativo)

In alcuni casi la cartella NuGetFallbackFolder non è più necessaria e può essere eliminata. Per altre informazioni, vedere le istruzioni per rimuovere NuGetFallbackFolder.

Disinstallare lo strumento

  1. Aprire Installazione applicazioni.
  2. Cercare Microsoft .NET SDK Uninstall Tool.
  3. Seleziona Disinstalla.

list comando

Riepilogo

dotnet-core-uninstall list [options]

Opzioni

  • --aspnet-runtime

    Elenca tutti i runtime ASP.NET che è possibile disinstallare con questo strumento.

  • --hosting-bundle

    Elenca tutti i bundle di hosting .NET che è possibile disinstallare con questo strumento.

  • --runtime

    Elenca tutti i runtime .NET che è possibile disinstallare con questo strumento.

  • --sdk

    Elenca tutti gli SDK .NET che è possibile disinstallare con questo strumento.

  • -v, --verbosity <LEVEL>

    Imposta il livello di dettaglio. I valori consentiti sono q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic]. Il valore predefinito è normal.

  • --x64

    Elenca tutti gli SDK e i runtime .NET x64 che è possibile disinstallare con questo strumento.

  • --x86

    Elenca tutti gli SDK e i runtime .NET x86 che è possibile disinstallare con questo strumento.

Esempi

  • Elencare tutti gli SDK e i runtime .NET che è possibile rimuovere con questo strumento:

    dotnet-core-uninstall list
    
  • Elencare tutti gli SDK e i runtime .NET x64:

    dotnet-core-uninstall list --x64
    
  • Elencare tutti gli SDK .NET x86:

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

Comandi dry-run e whatif

Riepilogo

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

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

Argomenti

VERSION

La specifica versione da disinstallare. È possibile elencare più versioni una dopo l'altra, separate da spazi. Sono supportati anche i file di risposta.

Suggerimento

I file di risposta sono un'alternativa all'inserimento di tutte le versioni nella riga di comando. Si tratta di file di testo, in genere con estensione *.rsp, e ogni versione è elencata in una riga separata. Per specificare un file di risposta per l'argomento VERSION, usare il carattere @ immediatamente seguito dal nome del file di risposta.

Opzioni

  • --all

    Rimuove tutti gli SDK e i runtime .NET.

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

    Rimuove solo gli SDK e i runtime .NET con una versione precedente a quella specificata. La versione specificata rimane installata.

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

    Rimuove tutti gli SDK e i runtime .NET, ad eccezione delle versioni specificate.

  • --all-but-latest

    Rimuove gli SDK e i runtime .NET, ad eccezione della versione più recente.

  • --all-lower-patches

    Rimuove gli SDK .NET e i runtime sostituiti da patch di versione superiore. Questa opzione protegge il file global.json.

  • --all-previews

    Rimuove gli SDK e i runtime .NET contrassegnati come anteprime.

  • --all-previews-but-latest

    Rimuove gli SDK .NET e i runtime contrassegnati come anteprime, ad eccezione dell'anteprima più recente.

  • --aspnet-runtime

    Rimuove solo i runtime ASP.NET.

  • --hosting-bundle

    Rimuove solo il runtime .NET e i bundle di hosting.

  • --major-minor <MAJOR_MINOR>

    Rimuove gli SDK e i runtime .NET corrispondenti alla versione major.minor specificata.

  • --runtime

    Rimuove solo i runtime .NET.

  • --sdk

    Rimuove solo gli SDK .NET.

  • -v, --verbosity <LEVEL>

    Imposta il livello di dettaglio. I valori consentiti sono q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic]. Il valore predefinito è normal.

  • --x64

    Deve essere usato con --sdk, --runtime e --aspnet-runtime per rimuovere SDK o runtime x64.

  • --x86

    Deve essere usato con --sdk, --runtime e --aspnet-runtime per rimuovere SDK o runtime x86.

  • --force

    Forza la rimozione delle versioni che potrebbero essere usate da Visual Studio.

Nota

  • È necessario esattamente uno tra --sdk, --runtime, --aspnet-runtime e --hosting-bundle.
  • --all, --all-below, --all-but, --all-but-latest, --all-lower-patches, --all-previews, --all-previews-but-latest, --major-minor e [<VERSION>...] sono esclusivi.
  • Se non si specifica --x64 o --x86, verranno rimosse sia le versioni x64, sia le versioni x86.

Esempi

Nota

Per impostazione predefinita, gli SDK e i runtime .NET che potrebbero essere necessari per Visual Studio o altri SDK non sono inclusi nell'output di dotnet-core-uninstall dry-run. Negli esempi seguenti, a seconda dello stato del computer, alcuni degli SDK e dei runtime specificati potrebbero non essere inclusi nell'output. Per includere tutti gli SDK e i runtime, elencarli in modo esplicito come argomenti o usare l'opzione --force.

  • Simulazione della rimozione di tutti i runtime .NET che sono stati sostituiti da patch più recenti:

    dotnet-core-uninstall dry-run --all-lower-patches --runtime
    
  • Simulazione della rimozione di tutti gli SDK .NET di versione precedente alla 2.2.301:

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

remove comando

Riepilogo

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

Argomenti

VERSION

La specifica versione da disinstallare. È possibile elencare più versioni una dopo l'altra, separate da spazi. Sono supportati anche i file di risposta.

Suggerimento

I file di risposta sono un'alternativa all'inserimento di tutte le versioni nella riga di comando. Si tratta di file di testo, in genere con estensione *.rsp, e ogni versione è elencata in una riga separata. Per specificare un file di risposta per l'argomento VERSION, usare il carattere @ immediatamente seguito dal nome del file di risposta.

Opzioni

  • --all

    Rimuove tutti gli SDK e i runtime .NET.

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

    Rimuove solo gli SDK e i runtime .NET con una versione precedente a quella specificata. La versione specificata rimane installata.

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

    Rimuove tutti gli SDK e i runtime .NET, ad eccezione delle versioni specificate.

  • --all-but-latest

    Rimuove gli SDK e i runtime .NET, ad eccezione della versione più recente.

  • --all-lower-patches

    Rimuove gli SDK .NET e i runtime sostituiti da patch di versione superiore. Questa opzione protegge il file global.json.

  • --all-previews

    Rimuove gli SDK e i runtime .NET contrassegnati come anteprime.

  • --all-previews-but-latest

    Rimuove gli SDK .NET e i runtime contrassegnati come anteprime, ad eccezione dell'anteprima più recente.

  • --aspnet-runtime

    Rimuove solo i runtime ASP.NET.

  • --hosting-bundle

    Rimuove solo i bundle di hosting .NET.

  • --major-minor <MAJOR_MINOR>

    Rimuove gli SDK e i runtime .NET corrispondenti alla versione major.minor specificata.

  • --runtime

    Rimuove solo i runtime .NET.

  • --sdk

    Rimuove solo gli SDK .NET.

  • -v, --verbosity <LEVEL>

    Imposta il livello di dettaglio. I valori consentiti sono q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic]. Il valore predefinito è normal.

  • --x64

    Deve essere usato con --sdk, --runtime e --aspnet-runtime per rimuovere SDK o runtime x64.

  • --x86

    Deve essere usato con --sdk, --runtime e --aspnet-runtime per rimuovere SDK o runtime x86.

  • -y, --yes

    Esegue il comando senza richiedere una conferma.

  • --force

    Forza la rimozione delle versioni che potrebbero essere usate da Visual Studio.

Nota

  • È necessario esattamente uno tra --sdk, --runtime, --aspnet-runtime e --hosting-bundle.
  • --all, --all-below, --all-but, --all-but-latest, --all-lower-patches, --all-previews, --all-previews-but-latest, --major-minor e [<VERSION>...] sono esclusivi.
  • Se non si specifica --x64 o --x86, verranno rimosse sia le versioni x64, sia le versioni x86.

Esempi

Nota

Per impostazione predefinita, gli SDK e i runtime .NET che potrebbero essere necessari per Visual Studio o altri SDK vengono conservati. Negli esempi seguenti, a seconda dello stato del computer, alcuni degli SDK e dei runtime specificati potrebbero essere conservati. Per rimuovere tutti gli SDK e i runtime, elencarli in modo esplicito come argomenti o usare l'opzione --force.

  • Rimuovere tutti i runtime .NET ad eccezione della versione 3.0.0-preview6-27804-01 senza richiedere conferma:

    dotnet-core-uninstall remove --all-but 3.0.0-preview6-27804-01 --runtime --yes
    
  • Rimuovere tutti gli SDK .NET Core 1.1 senza richiedere conferma:

    dotnet-core-uninstall remove --sdk --major-minor 1.1 -y
    
  • Rimuovere l'SDK .NET Core 1.1.11 senza output della console:

    dotnet-core-uninstall remove 1.1.11 --sdk --yes --verbosity q
    
  • Rimuovere tutti gli SDK .NET che possono essere rimossi in modo sicuro da questo strumento:

    dotnet-core-uninstall remove --all --sdk
    
  • Rimuovere tutti gli SDK .NET che possono essere rimossi da questo strumento, inclusi quelli che potrebbero essere richiesti da Visual Studio (non consigliato):

    dotnet-core-uninstall remove --all --sdk --force
    
  • Rimuovere tutti gli SDK .NET specificati nel file di risposta versions.rsp:

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

    Il contenuto del file versions.rsp è il seguente:

    2.2.300
    2.1.700