Herramienta de desinstalación de .NET

La herramienta de desinstalación de .NET (dotnet-core-uninstall) permite quitar los SDK y los runtimes de .NET de un sistema. Hay una colección de opciones disponible para especificar las versiones que desea desinstalar.

La herramienta es compatible con Windows y macOS. Linux no se admite actualmente.

En Windows, la herramienta solo puede desinstalar los SDK y los runtimes que se instalaron mediante uno de los siguientes instaladores:

  • El instalador del SDK y del entorno de ejecución de .NET.
  • El instalador de Visual Studio en versiones anteriores a Visual Studio 2019, versión 16.3.

En macOS, la herramienta solo puede desinstalar los SDK y entornos en tiempo de ejecución ubicados en la carpeta /usr/local/share/dotnet.

Debido a estas limitaciones, es posible que la herramienta no pueda desinstalar todos los SDK y los runtimes de .NET de la máquina. Puede usar el comando dotnet --info para buscar todos los SDK y los runtimes de .NET instalados, incluidos los runtimes y SDK que la herramienta no puede quitar. El comando dotnet-core-uninstall list muestra qué SDK se pueden desinstalar con la herramienta.

Nota:

Actualmente, la herramienta de desinstalación de .NET no admite .NET 8+. Para obtener más información sobre la programación de lanzamiento de la herramienta, consulte GitHub - dotnet-uninstall-tool Roadmap.

Instalación de la herramienta

Puede descargar la herramienta de desinstalación de .NET de la página de versiones de la herramienta y encontrar el código fuente en el repositorio dotnet/cli-lab de GitHub.

Nota

La herramienta requiere elevación para desinstalar los SDK y los entornos de ejecución de .NET. Por lo tanto, debe instalarse en un directorio protegido contra escritura, como C:\Archivos de programa en Windows o /usr/local/bin en macOS. Para obtener más información, vea Acceso con privilegios elevados para los comandos de dotnet y las instrucciones de instalación detalladas.

Ejecución de la herramienta

En los pasos siguientes se muestra el enfoque recomendado para ejecutar la herramienta de desinstalación:

Paso 1: Mostrar los SDK y los entornos de ejecución de .NET instalados

El comando dotnet-core-uninstall list enumera los SDK y los entornos de ejecución de .NET instalados que se pueden quitar con esta herramienta. Visual Studio puede necesitar algunos SDK y runtimes, que se muestran con una nota de por qué no se recomienda desinstalarlos.

Nota

En la mayoría de los casos, la salida del comando dotnet-core-uninstall list no coincidirá con la lista de versiones instaladas en la salida de dotnet --info. En concreto, esta herramienta no mostrará las versiones instaladas mediante archivos ZIP ni administradas por Visual Studio (cualquier versión instalada con Visual Studio 2019, versión 16.3 o una posterior). Una manera de comprobar si una versión está administrada por Visual Studio es verla en Add or Remove Programs, donde las versiones administradas de Visual Studio se marcan como tales en sus nombres para mostrar.

Para obtener más información, vea la lista de comandos que figura más adelante en este artículo.

Paso 2: Realizar un simulacro

Los comandos dotnet-core-uninstall dry-run y dotnet-core-uninstall whatif muestran los SDK y los entornos de ejecución de .NET que se quitarán en función de las opciones proporcionadas sin realizar la desinstalación. Estos comandos son sinónimos.

Para obtener más información, consulte dry-run y los whatifcomandos más adelante en este artículo.

Paso 3: Desinstalar los SDK y los entornos de ejecución de .NET

dotnet-core-uninstall remove desinstala los SDK y los entornos de ejecución de .NET especificados por una colección de opciones.

Dado que esta herramienta tiene un comportamiento destructivo, es altamente recomendable que realice un simulacro antes de ejecutar el comando remove. El simulacro le mostrará qué SDK y entornos de ejecución de .NET se quitarán cuando use el comando remove. Consulte ¿Puedo quitar una versión? para saber qué SDK y entornos en tiempo de ejecución se pueden quitar de forma segura.

Precaución

Tenga en cuenta las siguientes advertencias:

  • Esta herramienta puede desinstalar las versiones del SDK de .NET que necesitan los archivos global.json de la máquina. Puede volver a instalar los SDK de .NET en la página de descarga de .NET.
  • Esta herramienta puede desinstalar las versiones del entorno de ejecución de .NET que necesitan las aplicaciones que dependen del marco de trabajo de la máquina. Puede volver a instalar los entornos de ejecución de .NET en la página de descarga de .NET.
  • Esta herramienta puede desinstalar las versiones del SDK y del entorno de ejecución de .NET de las que depende Visual Studio. Si interrumpe la instalación de Visual Studio, ejecute "Reparar" en el instalador de Visual Studio para volver a un estado de funcionamiento.

De forma predeterminada, todos los comandos mantienen los SDK y los entornos de ejecución de .NET que pueden necesitar Visual Studio u otros SDK. Estos SDK y entornos en tiempos de ejecución se pueden desinstalar si se enumeran explícitamente como argumentos o mediante la opción --force.

La herramienta requiere elevación para desinstalar los SDK y los entornos de ejecución de .NET. Ejecute la herramienta en un símbolo del sistema de administrador en Windows y con sudo en macOS. Los comandos dry-run y whatif no requieren elevación.

Para obtener más información, vea el comando remove que figura más adelante en este artículo.

Paso 4: Eliminar la carpeta de reserva de NuGet (opcional)

En algunos casos, ya no necesita NuGetFallbackFolder y puede que desee eliminarlo. Para obtener más información, vea Eliminación de NuGetFallbackFolder.

Desinstalación de la herramienta.

  1. Abra Agregar o quitar programas.
  2. Busque Microsoft .NET SDK Uninstall Tool.
  3. Seleccione Desinstalar.

El comando list

Sinopsis

dotnet-core-uninstall list [options]

Opciones

  • --aspnet-runtime

    Enumera todos los runtimes de ASP.NET que se pueden desinstalar con esta herramienta.

  • --hosting-bundle

    Enumera todos los conjuntos de hospedaje de .NET que se pueden desinstalar con esta herramienta.

  • --runtime

    Enumera todos los runtimes de .NET que se pueden desinstalar con esta herramienta.

  • --sdk

    Enumera todos los SDK de .NET que se pueden desinstalar con esta herramienta.

  • -v, --verbosity <LEVEL>

    Establece el nivel de detalle. Los valores permitidos son q[uiet], m[inimal], n[ormal], d[etailed] y diag[nostic]. El valor predeterminado es normal.

  • --x64

    Enumera todos los SDK y runtimes de .NET x64 que se pueden desinstalar con esta herramienta.

  • --x86

    Enumera todos los SDK y runtimes de .NET x86 que se pueden desinstalar con esta herramienta.

Ejemplos

  • Enumere todos los SDK y runtimes de .NET que se pueden quitar con esta herramienta:

    dotnet-core-uninstall list
    
  • Enumere todos los SDK y runtimes de .NET x64:

    dotnet-core-uninstall list --x64
    
  • Enumere todos los SDK de .NET x86:

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

Comandos dry-run y whatif

Sinopsis

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

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

Argumentos

VERSION

La versión especificada que se va a desinstalar. Puede enumerar varias versiones, una detrás de la otra, separadas por espacios. También se admiten los archivos de respuesta.

Sugerencia

Los archivos de respuesta son una alternativa a la colocación de todas las versiones en la línea de comandos. Son archivos de texto, normalmente con una extensión *.rsp, y cada versión aparece en una línea independiente. Para especificar un archivo de respuesta para el argumento VERSION, use el carácter @ seguido inmediatamente del nombre del archivo de respuesta.

Opciones

  • --all

    Quita todos los SDK y runtimes de .NET.

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

    Quita solo los SDK y los entornos de ejecución de .NET que tienen una versión menor que la versión especificada. La versión especificada permanece instalada.

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

    Quita todos los SDK y runtimes de .NET, excepto las versiones especificadas.

  • --all-but-latest

    Quita los SDK y los runtimes de .NET, excepto la versión más alta.

  • --all-lower-patches

    Quita los SDK y los runtimes de .NET que reemplazan revisiones superiores. Esta opción protege el archivo global.json.

  • --all-previews

    Quita los SDK y los runtimes de .NET marcados como versiones preliminares.

  • --all-previews-but-latest

    Quita los SDK y los runtimes de .NET marcados como versiones preliminares, excepto la versión preliminar más alta.

  • --aspnet-runtime

    Quita solo los runtimes de ASP.NET.

  • --hosting-bundle

    Quita solo el runtime de .NET y los conjuntos de hospedaje.

  • --major-minor <MAJOR_MINOR>

    Quita los SDK y los runtimes de .NET que coinciden con la versión major.minor especificada.

  • --runtime

    Quita solo los runtimes de .NET.

  • --sdk

    Quita solo los SDK de .NET.

  • -v, --verbosity <LEVEL>

    Establece el nivel de detalle. Los valores permitidos son q[uiet], m[inimal], n[ormal], d[etailed] y diag[nostic]. El valor predeterminado es normal.

  • --x64

    Se debe usar con --sdk, --runtime y --aspnet-runtime para quitar los SDK o los entornos en tiempo de ejecución x64.

  • --x86

    Se debe usar con --sdk, --runtime y --aspnet-runtime para quitar los SDK o los entornos en tiempo de ejecución x86.

  • --force

    Fuerza la eliminación de las versiones que Visual Studio puede usar.

Nota

  • Se requiere exactamente uno de los valores --sdk, --runtime, --aspnet-runtime y --hosting-bundle.
  • --all, --all-below, --all-but, --all-but-latest, --all-lower-patches, --all-previews, --all-previews-but-latest, --major-minor y [<VERSION>...] son valores exclusivos.
  • Si no se especifica --x64 o --x86, se quitarán tanto x64 como x86.

Ejemplos

Nota:

De manera predeterminada, los SDK y los runtimes de .NET que pueden necesitar Visual Studio u otros SDK no se incluyen en la salida de dotnet-core-uninstall dry-run. En los siguientes ejemplos, en función del estado de la máquina, es posible que algunos de los SDK y runtimes especificados no se incluyan en la salida. Para incluir todos los SDK y runtimes, agréguelos explícitamente como argumentos o use la opción --force.

  • Realice un simulacro de la eliminación de todos runtimes de .NET que se han reemplazado por revisiones superiores:

    dotnet-core-uninstall dry-run --all-lower-patches --runtime
    
  • Realice un simulacro de la eliminación de todos los SDK de .NET inferiores a la versión 2.2.301:

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

El comando remove

Sinopsis

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

Argumentos

VERSION

La versión especificada que se va a desinstalar. Puede enumerar varias versiones una detrás de la otra, separadas por espacios. También se admiten los archivos de respuesta.

Sugerencia

Los archivos de respuesta son una alternativa a la colocación de todas las versiones en la línea de comandos. Son archivos de texto, normalmente con una extensión *.rsp, y cada versión aparece en una línea independiente. Para especificar un archivo de respuesta para el argumento VERSION, use el carácter @ seguido inmediatamente del nombre del archivo de respuesta.

Opciones

  • --all

    Quita todos los SDK y runtimes de .NET.

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

    Quita solo los SDK y los entornos de ejecución de .NET que tienen una versión menor que la versión especificada. La versión especificada permanece instalada.

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

    Quita todos los SDK y runtimes de .NET, excepto las versiones especificadas.

  • --all-but-latest

    Quita los SDK y los runtimes de .NET, excepto la versión más alta.

  • --all-lower-patches

    Quita los SDK y los runtimes de .NET que reemplazan revisiones superiores. Esta opción protege el archivo global.json.

  • --all-previews

    Quita los SDK y los runtimes de .NET marcados como versiones preliminares.

  • --all-previews-but-latest

    Quita los SDK y los runtimes de .NET marcados como versiones preliminares, excepto la versión preliminar más alta.

  • --aspnet-runtime

    Quita solo los runtimes de ASP.NET.

  • --hosting-bundle

    Quita solo los conjuntos de hospedaje de .NET.

  • --major-minor <MAJOR_MINOR>

    Quita los SDK y los runtimes de .NET que coinciden con la versión major.minor especificada.

  • --runtime

    Quita solo los runtimes de .NET.

  • --sdk

    Quita solo los SDK de .NET.

  • -v, --verbosity <LEVEL>

    Establece el nivel de detalle. Los valores permitidos son q[uiet], m[inimal], n[ormal], d[etailed] y diag[nostic]. El valor predeterminado es normal.

  • --x64

    Se debe usar con --sdk, --runtime y --aspnet-runtime para quitar los SDK o los entornos en tiempo de ejecución x64.

  • --x86

    Se debe usar con --sdk, --runtime y --aspnet-runtime para quitar los SDK o los entornos en tiempo de ejecución x86.

  • -y, --yes

    Ejecuta el comando sin requerir una confirmación sí o no.

  • --force

    Fuerza la eliminación de las versiones que Visual Studio puede usar.

Nota

  • Se requiere exactamente uno de los valores --sdk, --runtime, --aspnet-runtime y --hosting-bundle.
  • --all, --all-below, --all-but, --all-but-latest, --all-lower-patches, --all-previews, --all-previews-but-latest, --major-minor y [<VERSION>...] son valores exclusivos.
  • Si no se especifica --x64 o --x86, se quitarán tanto x64 como x86.

Ejemplos

Nota:

De manera predeterminada, los SDK y los runtimes de .NET que pueden necesitar Visual Studio u otros SDK se mantienen. En los siguientes ejemplos, según el estado de la máquina, es posible que algunos de los SDK y runtimes especificados se mantengan. Para quitar todos los SDK y runtimes, agréguelos explícitamente como argumentos o use la opción --force.

  • Quite todos los runtimes de .NET excepto la versión 3.0.0-preview6-27804-01 sin necesidad de la confirmación sí o no:

    dotnet-core-uninstall remove --all-but 3.0.0-preview6-27804-01 --runtime --yes
    
  • Quite todos los SDK de .NET Core 1.1 sin necesidad de la confirmación sí o no:

    dotnet-core-uninstall remove --sdk --major-minor 1.1 -y
    
  • Quitar el SDK de .NET Core 1.1.11 sin salida de consola:

    dotnet-core-uninstall remove 1.1.11 --sdk --yes --verbosity q
    
  • Quite todos los SDK de .NET que se puedan quitar con seguridad con esta herramienta:

    dotnet-core-uninstall remove --all --sdk
    
  • Quite todos los SDK de .NET que puede quitar esta herramienta, incluidos los SDK que puede necesitar Visual Studio (no recomendado):

    dotnet-core-uninstall remove --all --sdk --force
    
  • Quite todos los SDK de .NET que se especifican en el archivo de respuesta versions.rsp:

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

    El contenido del archivo versions.rsp es el siguiente:

    2.2.300
    2.1.700