Herramienta de desinstalación de .NET

La herramienta de desinstalación de .NET (dotnet-core-uninstall) permite quitar los SDK y los entornos de ejecución 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 entornos en tiempo de ejecución 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 entornos de ejecución de .NET de la máquina. Puede usar el comando dotnet --info para buscar todos los SDK y los entornos de ejecución de .NET instalados, incluidos los entornos de ejecución y SDK que esta herramienta no puede quitar. El comando dotnet-core-uninstall list muestra qué SDK se pueden desinstalar con la herramienta. La versión 1.2 y posteriores pueden desinstalar SDK y entornos de ejecución con la versión 5.0 o anteriores, mientras que las versiones anteriores de la herramienta pueden desinstalar la versión 3.1 y anteriores.

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. Consulte también Acceso con privilegios elevados para comandos de dotnet. Para obtener más información, vea 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 entornos en tiempo de ejecución, 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 16.3 o 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.

dotnet-core-uninstall list

Sinopsis

dotnet-core-uninstall list [options]

Opciones

  • --aspnet-runtime

    Enumera todos los entornos de ejecución 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 entornos de ejecución 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 entornos de ejecución de .NET x64 que se pueden desinstalar con esta herramienta.

  • --x86

    Enumera todos los SDK y entornos de ejecución de .NET x86 que se pueden desinstalar con esta herramienta.

Ejemplos

  • Enumerar todos los SDK y entornos de ejecución de .NET que se pueden quitar con esta herramienta:

    dotnet-core-uninstall list
    
  • Enumerar todos los SDK y entornos de ejecución de .NET x64:

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

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

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.

dotnet-core-uninstall dry-run y dotnet-core-uninstall 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 entornos de ejecución 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 entornos de ejecución de .NET, excepto las versiones especificadas.

  • --all-but-latest

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

  • --all-lower-patches

    Quita los SDK y los entornos de ejecución de .NET reemplazados por revisiones superiores. Esta opción protege el archivo global.json.

  • --all-previews

    Quita los SDK y los entornos de ejecución de .NET marcados como versiones preliminares.

  • --all-previews-but-latest

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

  • --aspnet-runtime

    Quita solo los entornos de ejecución de ASP.NET.

  • --hosting-bundle

    Quita solo el entorno de ejecución de .NET y los conjuntos de hospedaje.

  • --major-minor <MAJOR_MINOR>

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

  • --runtime

    Quita solo los entornos de ejecución 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.

Notas:

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

Ejemplos

Nota

De forma predeterminada, los SDK y los entornos de ejecución 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, es posible que algunos de los SDK y entornos en tiempo de ejecución especificados no se incluyan en la salida, según el estado de la máquina. Para incluir todos los SDK y entornos en tiempo de ejecución, agréguelos explícitamente como argumentos o use la opción --force.

  • Realice un simulacro de la eliminación de todos entornos de ejecución 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
    

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. La versión 1.2 y posteriores pueden desinstalar SDK y entornos de ejecución con la versión 5.0 o anteriores, mientras que las versiones anteriores de la herramienta pueden desinstalar la versión 3.1 y anteriores.

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.

dotnet-core-uninstall 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 entornos de ejecución 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 entornos de ejecución de .NET, excepto las versiones especificadas.

  • --all-but-latest

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

  • --all-lower-patches

    Quita los SDK y los entornos de ejecución de .NET reemplazados por revisiones superiores. Esta opción protege el archivo global.json.

  • --all-previews

    Quita los SDK y los entornos de ejecución de .NET marcados como versiones preliminares.

  • --all-previews-but-latest

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

  • --aspnet-runtime

    Quita solo los entornos de ejecución de ASP.NET.

  • --hosting-bundle

    Quita solo los conjuntos de hospedaje de .NET.

  • --major-minor <MAJOR_MINOR>

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

  • --runtime

    Quita solo los entornos de ejecución 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.

Notas:

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

Ejemplos

Nota

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

  • Quitar todos los entornos de ejecución de .NET excepto la versión 3.0.0-preview6-27804-01 sin necesidad de la confirmación S/N:

    dotnet-core-uninstall remove --all-but 3.0.0-preview6-27804-01 --runtime --yes
    
  • Quitar todos los SDK de .NET Core 1.1 sin necesidad de la confirmación de S/N:

    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
    
  • Quitar todos los SDK de .NET que se puedan quitar con seguridad con esta herramienta:

    dotnet-core-uninstall remove --all --sdk
    
  • Quitar 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
    
  • Quitar todos los SDK de .NET que se especifican en el archivo de respuesta versions.rsp:

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

    El contenido de versions.rsp es el siguiente:

    2.2.300
    2.1.700
    

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

En algunos casos, ya no necesita NuGetFallbackFolder y puede que desee eliminarlo. Para más información sobre cómo eliminar esta carpeta, consulte Quitar NuGetFallbackFolder.

Desinstalación de la herramienta.

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