Ferramenta de desinstalação do .NET

A Ferramenta de desinstalação do .NET (dotnet-core-uninstall) permite remover SDKs e runtimes do .NET de um sistema. Está disponível uma coleção de opções para especificar quais versões serão desinstaladas.

A ferramenta dá suporte ao Windows e ao macOS. O Linux não tem suporte no momento.

No Windows, a ferramenta só pode desinstalar SDKs e runtimes instalados usando um dos seguintes instaladores:

  • O SDK do .NET e o instalador de runtime.
  • O instalador do Visual Studio em versões anteriores ao Visual Studio 2019 versão 16.3.

No macOS, a ferramenta só pode desinstalar SDKs e runtimes localizados na pasta /usr/local/share/dotnet.

Devido a essas limitações, a ferramenta pode não ser capaz de desinstalar todos os SDKs e runtimes do .NET no computador. Você pode usar o comando dotnet --info para localizar todos os SDKs e runtimes do .NET instalados, incluindo os SDKs e runtimes que essa ferramenta não pode remover. O comando dotnet-core-uninstall list exibe quais SDKs podem ser desinstalados com a ferramenta.

Observação

Atualmente, a Ferramenta de Desinstalação do .NET não dá suporte ao .NET 8+. Para obter mais informações sobre o agendamento de lançamento da ferramenta, consulte GitHub – Roteiro de ferramenta de desinstalação do dotnet.

Instalar a ferramenta

Você pode baixar a ferramenta de desinstalação do .NET na página de versões da ferramenta e encontrar o código-fonte no repositório dotnet/cli-lab do GitHub.

Observação

A ferramenta requer elevação para desinstalar os SDKs e runtimes do .NET. Portanto, ela deve ser instalada em um diretório com proteção de gravação, como C:\Arquivos de Programas no Windows ou /usr/local/bin no macOS. Para obter mais informações, confira Acesso elevado para comandos dotnet e as instruções de instalação detalhadas.

Executar a ferramenta

As seguintes etapas mostram a abordagem recomendada para executar a ferramenta de desinstalação:

Etapa 1 – Exibir os SDKs e os runtimes do .NET instalados

O comando dotnet-core-uninstall list lista os SDKs e runtimes do .NET instalados que podem ser removidos com essa ferramenta. Alguns SDKs e runtimes podem ser exigidos pelo Visual Studio e são exibidos com uma observação do motivo pelo qual não é recomendável desinstalá-los.

Observação

A saída do comando dotnet-core-uninstall list não corresponderá à lista de versões instaladas na saída de dotnet --info na maioria dos casos. Especificamente, essa ferramenta não exibirá as versões instaladas por arquivos zip ou gerenciadas pelo Visual Studio (qualquer versão instalada com o Visual Studio 2019 versão 16.3 ou posterior). Uma forma de verificar se uma versão é gerenciada pelo Visual Studio é exibi-la em Add or Remove Programs, em que as versões gerenciadas do Visual Studio são marcadas como tal nos nomes de exibição.

Saiba mais sobre como listar comandos posteriormente neste artigo.

Etapa 2 – Fazer uma execução DRY

Os comandos dotnet-core-uninstall dry-run e dotnet-core-uninstall whatif exibem os SDKs e os runtimes do .NET que serão removidos com base nas opções fornecidas sem executar a desinstalação. Esses comandos são sinônimos.

Saiba mais sobre os comandos dry-run e whatif posteriormente neste artigo.

Etapa 3 – Desinstalar os SDKs e os runtimes do .NET

dotnet-core-uninstall remove desinstala os SDKs e os runtimes do .NET especificados por uma coleção de opções.

Como essa ferramenta tem um comportamento destrutivo, é altamente recomendável que você faça uma execução DRY antes de executar o comando de remoção. A execução DRY mostrará quais SDKs e runtimes do .NET serão removidos quando você usar o comando remove. Confira Devo remover uma versão? para saber quais SDKs e runtimes podem ser removidos com segurança.

Cuidado

Tenha em mente as seguintes advertências:

  • Essa ferramenta pode desinstalar versões do SDK do .NET exigidas por arquivos global.json no computador. Você pode reinstalar os SDKs do .NET na página Baixar o .NET.
  • Essa ferramenta pode desinstalar versões do runtime do .NET exigidas por aplicativos dependentes da estrutura no computador. Você pode reinstalar os runtimes do .NET na página Baixar o .NET.
  • Essa ferramenta pode desinstalar versões do SDK e do runtime do .NET de que o Visual Studio depende. Se você interromper a instalação do Visual Studio, execute "Reparar" no instalador do Visual Studio para voltar a um estado funcional.

Por padrão, todos os comandos mantêm os SDKs e os runtimes do .NET que podem ser exigidos pelo Visual Studio ou por outros SDKs. Esses SDKs e runtimes podem ser desinstalados listando-os explicitamente como argumentos ou usando a opção --force.

A ferramenta requer elevação para desinstalar os SDKs e runtimes do .NET. Execute a ferramenta em um prompt de comando do administrador no Windows e com o sudo no macOS. Os comandos dry-run e whatif não exigem elevação.

Saiba mais sobre como remover comandos posteriormente neste artigo.

Etapa 4 – Excluir a pasta de fallback do NuGet (opcional)

Em alguns casos, o NuGetFallbackFolder não é mais necessário e pode ser excluído. Saiba mais sobre como remover NuGetFallbackFolder.

Desinstalar a ferramenta

  1. Abra Adicionar ou remover programas.
  2. Pesquise por Microsoft .NET SDK Uninstall Tool.
  3. Selecione Desinstalar.

Comando list

Sinopse

dotnet-core-uninstall list [options]

Opções

  • --aspnet-runtime

    Lista todos os runtimes do ASP.NET que podem ser desinstalados com essa ferramenta.

  • --hosting-bundle

    Lista todos os pacotes de host do .NET que podem ser desinstalados com essa ferramenta.

  • --runtime

    Lista todos os runtimes do .NET que podem ser desinstalados com essa ferramenta.

  • --sdk

    Lista todos os SDKs do .NET que podem ser desinstalados com essa ferramenta.

  • -v, --verbosity <LEVEL>

    Define o nível de detalhamento. Os valores permitidos são q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic]. O valor padrão é normal.

  • --x64

    Lista todos os SDKs do .NET x64 que podem ser desinstalados com essa ferramenta.

  • --x86

    Lista todos os SDKs do .NET x86 que podem ser desinstalados com essa ferramenta.

Exemplos

  • Listar todos os SDKs do .NET que podem ser removidos com essa ferramenta:

    dotnet-core-uninstall list
    
  • Listar todos os SDKs e runtimes do .NET x64:

    dotnet-core-uninstall list --x64
    
  • Listar todos os SDKs do .NET x86:

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

Comandos dry-run e whatif

Sinopse

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

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

Argumentos

VERSION

A versão especificada a ser desinstalada. Você pode listar várias versões uma após a outra, separadas por espaços. Também há suporte para arquivos de resposta.

Dica

Os arquivos de resposta são uma alternativa para colocar todas as versões na linha de comando. Eles são arquivos de texto, normalmente com uma extensão *.rsp, e cada versão é listada em uma linha separada. Para especificar um arquivo de resposta para o argumento VERSION, use o caractere @ imediatamente seguido pelo nome do arquivo de resposta.

Opções

  • --all

    Remove todos os SDKs e os runtimes do .NET.

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

    Remove apenas os SDKs e os runtimes do .NET com uma versão menor que a versão especificada. A versão especificada permanece instalada.

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

    Remove todos os SDKs e os runtimes do .NET, exceto as versões especificadas.

  • --all-but-latest

    Remove os SDKs e os runtimes do .NET, exceto a versão mais alta.

  • --all-lower-patches

    Remove os SDKs e os runtimes do .NET substituídos por patches mais altos. Essa opção protege o arquivo global.json.

  • --all-previews

    Remove os SDKs e os runtimes do .NET marcados como versões prévias.

  • --all-previews-but-latest

    Remove os SDKs e runtimes do .NET marcados como versões prévias, exceto a versão prévia mais alta.

  • --aspnet-runtime

    Remove somente os runtimes do ASP.NET.

  • --hosting-bundle

    Remove apenas os pacotes de hospedagem e de runtime do .NET.

  • --major-minor <MAJOR_MINOR>

    Remove os SDKs e os runtimes do .NET que correspondem à versão do major.minor especificada.

  • --runtime

    Remove somente os runtimes do .NET.

  • --sdk

    Remove apenas os SDKs do .NET.

  • -v, --verbosity <LEVEL>

    Define o nível de detalhamento. Os valores permitidos são q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic]. O valor padrão é normal.

  • --x64

    Precisa ser usado com --sdk, --runtime e --aspnet-runtime para remover SDKs ou runtimes x64.

  • --x86

    Precisa ser usado com --sdk, --runtime e --aspnet-runtime para remover SDKs ou runtimes x86.

  • --force

    força a remoção de versões que podem ser usadas pelo Visual Studio.

Observação

  • É necessário usar exatamente uma destas opções --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>...] são exclusivos.
  • Se --x64 ou --x86 não forem especificados, x64 e x86 serão removidos.

Exemplos

Observação

Por padrão, os SDKs e os runtimes do .NET que podem ser exigidos pelo Visual Studio ou por outros SDKs não são incluídos na saída de dotnet-core-uninstall dry-run. Nos exemplos a seguir, dependendo do estado do computador, alguns dos SDKs e runtimes especificados podem não ser incluídos na saída. Para incluir todos os SDKs e runtimes, liste-os explicitamente como argumentos ou use a opção --force.

  • Execução DRY da remoção de todos os runtimes do .NET que foram substituídos por patches mais altos:

    dotnet-core-uninstall dry-run --all-lower-patches --runtime
    
  • Execução DRY da remoção de todos os SDKs do .NET abaixo da versão 2.2.301:

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

Comando remove

Sinopse

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

Argumentos

VERSION

A versão especificada a ser desinstalada. Você pode listar várias versões uma após a outra, separadas por espaços. Também há suporte para arquivos de resposta.

Dica

Os arquivos de resposta são uma alternativa para colocar todas as versões na linha de comando. Eles são arquivos de texto, normalmente com uma extensão *.rsp, e cada versão é listada em uma linha separada. Para especificar um arquivo de resposta para o argumento VERSION, use o caractere @ imediatamente seguido pelo nome do arquivo de resposta.

Opções

  • --all

    Remove todos os SDKs e os runtimes do .NET.

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

    Remove apenas os SDKs e os runtimes do .NET com uma versão menor que a versão especificada. A versão especificada permanece instalada.

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

    Remove todos os SDKs e os runtimes do .NET, exceto as versões especificadas.

  • --all-but-latest

    Remove os SDKs e os runtimes do .NET, exceto a versão mais alta.

  • --all-lower-patches

    Remove os SDKs e os runtimes do .NET substituídos por patches mais altos. Essa opção protege o arquivo global.json.

  • --all-previews

    Remove os SDKs e os runtimes do .NET marcados como versões prévias.

  • --all-previews-but-latest

    Remove os SDKs e runtimes do .NET marcados como versões prévias, exceto a versão prévia mais alta.

  • --aspnet-runtime

    Remove somente os runtimes do ASP.NET.

  • --hosting-bundle

    Remove somente pacotes de hospedagem do .NET.

  • --major-minor <MAJOR_MINOR>

    Remove os SDKs e os runtimes do .NET que correspondem à versão do major.minor especificada.

  • --runtime

    Remove somente os runtimes do .NET.

  • --sdk

    Remove apenas os SDKs do .NET.

  • -v, --verbosity <LEVEL>

    Define o nível de detalhamento. Os valores permitidos são q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic]. O valor padrão é normal.

  • --x64

    Precisa ser usado com --sdk, --runtime e --aspnet-runtime para remover SDKs ou runtimes x64.

  • --x86

    Precisa ser usado com --sdk, --runtime e --aspnet-runtime para remover SDKs ou runtimes x86.

  • -y, --yes

    executa o comando sem exigir uma confirmação sim ou não.

  • --force

    força a remoção de versões que podem ser usadas pelo Visual Studio.

Observação

  • É necessário usar exatamente uma destas opções --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>...] são exclusivos.
  • Se --x64 ou --x86 não forem especificados, x64 e x86 serão removidos.

Exemplos

Observação

Por padrão, os SDKs e os runtimes do .NET que podem ser exigidos pelo Visual Studio ou por outros SDKs são mantidos. Nos exemplos a seguir, dependendo do estado do computador, alguns dos SDKs e runtimes especificados podem permanecer. Para remover todos os SDKs e runtimes, liste-os explicitamente como argumentos ou use a opção --force.

  • Remover todos os runtimes do .NET, exceto a versão 3.0.0-preview6-27804-01 sem exigir uma confirmação do tipo sim ou não:

    dotnet-core-uninstall remove --all-but 3.0.0-preview6-27804-01 --runtime --yes
    
  • Remover todos os SDKs do .NET Core 1.1 sem exigir confirmação do tipo sim ou não:

    dotnet-core-uninstall remove --sdk --major-minor 1.1 -y
    
  • Remover o SDK do .NET Core 1.1.11 sem saída de console:

    dotnet-core-uninstall remove 1.1.11 --sdk --yes --verbosity q
    
  • Remover todos os SDKs do .NET que podem ser removidos com segurança por essa ferramenta:

    dotnet-core-uninstall remove --all --sdk
    
  • Remover todos os SDKs do .NET que podem ser removidos por essa ferramenta, incluindo os SDKs que podem ser exigidos pelo Visual Studio (não recomendado):

    dotnet-core-uninstall remove --all --sdk --force
    
  • Remover todos os SDKs do .NET que estão especificados no arquivo de resposta versions.rsp:

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

    O conteúdo do arquivo versions.rsp é o seguinte:

    2.2.300
    2.1.700