Procedimiento para quitar el entorno de ejecución y el SDK de .NET

Con el tiempo, a medida que instale versiones actualizadas del entorno de ejecución y el SDK de .NET, es posible que quiera quitar del equipo las versiones obsoletas de .NET. Al desinstalar versiones anteriores del runtime es posible que se cambie el elegido para ejecutar aplicaciones de marco compartido, tal como se detalla en el artículo sobre selección de la versión de .NET.

¿Puedo quitar una versión?

Los comportamientos de la selección de la versión de .NET y la compatibilidad del entorno de ejecución de .NET entre actualizaciones permite quitar de forma segura las versiones anteriores. Las actualizaciones del runtime de .NET son compatibles con una banda de versión principal, como 7.x y 6.x. Además, normalmente las versiones más recientes del SDK de .NET mantienen la capacidad de crear aplicaciones destinadas a versiones anteriores del entorno de ejecución de una forma compatible.

En general, solo se necesita el SDK más reciente y la última versión de revisión de los runtimes necesarios para la aplicación. Los casos en los que interesa conservar versiones anteriores del SDK o del runtime incluyen el mantenimiento de aplicaciones basadas en project.json. A menos que la aplicación tenga motivos concretos para utilizar SDK o runtimes anteriores, puede quitar las versiones anteriores.

Determinación de lo instalado

La CLI de .NET tiene opciones que puede usar para enumerar las versiones del SDK y del entorno de ejecución instaladas en el equipo. Use dotnet --list-sdks para ver la lista de SDK instalados y dotnet --list-runtimes para ver la lista de runtimes. Para obtener más información, vea Cómo comprobar que .NET Core ya está instalado.

Desinstalación de .NET

.NET usa el cuadro de diálogo Aplicaciones y características de Windows para quitar las versiones del entorno de ejecución y del SDK de .NET. En la siguiente ilustración se muestra el cuadro de diálogo Aplicaciones y características. Puede buscar por core o por .net para filtrar y mostrar las versiones instaladas de .NET.

Add / Remove programs to remove .NET

Seleccione las versiones que quiera quitar de su equipo y haga clic en Desinstalar.

La mejor forma de desinstalar .NET es repetir la misma acción que se ha usado para instalarlo. Los detalles específicos dependerán de la distribución de Linux que elija y del método de instalación.

Las versiones preliminares se instalan manualmente y se deben desinstalar manualmente. Para obtener más información, vea la sección Con script o manual.

Importante

Para las instalaciones de Red Hat, consulte la documentación del producto Red Hat para .NET.

Puede quitar los tipos siguientes si las instalaciones de .NET:

Administrador de paquetes

No es necesario desinstalar primero el SDK de .NET al actualizarlo mediante un administrador de paquetes, a menos que se actualice desde una versión preliminar que se instaló manualmente. Los comandos update o refresh del administrador de paquetes quitarán automáticamente la versión anterior tras la instalación correcta de una versión más reciente. Si tiene instalada una versión preliminar, desinstálela.

Si ha instalado .NET con un administrador de paquetes, use ese mismo administrador de paquetes para desinstalar el SDK o el entorno de ejecución de .NET. Las instalaciones de .NET admiten los administradores de paquetes más conocidos. Consulte la documentación del administrador de paquetes de su distribución para conocer la sintaxis exacta en su entorno:

  • apt-get(8) se utiliza en sistemas basados en Debian, incluido Ubuntu.
  • yum(8) se utiliza en Fedora, CentOS, Oracle Linux y RHEL.
  • zypper(8) se utiliza en openSUSE y SUSE Linux Enterprise Server (SLES).
  • DNF(8) se utiliza en Fedora.

En casi todos los casos, el comando para quitar un paquete es remove.

El nombre del paquete para la instalación del SDK de .NET en la mayoría de administradores de paquetes es dotnet-sdk, seguido por el número de versión. A partir de la versión 2.1.300 del SDK de .NET y de la versión 2.1 del entorno de ejecución, solo se necesitan el primer y el segundo número de versión: por ejemplo, puede hacer referencia a la versión 2.1.300 del SDK de .NET como el paquete dotnet-sdk-2.1. Para las versiones anteriores se necesita la cadena de versión completa: por ejemplo, se necesitaría dotnet-sdk-2.1.200 para la versión 2.1.200 del SDK de .NET.

En los equipos en los que solo se ha instalado el entorno de ejecución, y no el SDK, el nombre del paquete es dotnet-runtime-<version> para el entorno de ejecución de .NET y aspnetcore-runtime-<version> para la pila de entorno de ejecución entera.

Con script o manual

Si ha instalado .NET mediante el script dotnet-install o extrayendo un tarball, debe quitar .NET con el método manual.

Al instalar manualmente .NET, generalmente se instala en el directorio /usr/share/dotnet/, /usr/lib/dotnet/ o $HOME/.dotnet. El SDK, el runtime y el host de .NET se instalan en subdirectorios independientes. Estos directorios de "componentes" contienen un directorio para cada versión de .NET. Al quitar los directorios con versiones, se quita esa versión de .NET del sistema. Estos directorios pueden variar en función de la distribución de Linux.

Hay tres comandos que se pueden usar a fin de detectar dónde está instalado .NET: dotnet --list-sdks para los SDK, dotnet --list-runtimes para los runtimes y dotnet --info para todo. Estos comandos no muestran el host de .NET. Para determinar qué hosts están instalados, compruebe el directorio /usr/share/dotnet/host/fxr/. La lista siguiente representa los directorios de una versión específica de .NET, donde la variable $version representa la versión de .NET:

  • SDK:

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

  • Entorno de ejecución:

    El runtime se basa en runtimes de productos .NET específicos, como Microsoft.AspNetCore.All o Microsoft.NETCore.App (el runtime de .NET específicamente). Se instalan en el directorio /usr/share/dotnet/shared/$product/$version, donde $product es el runtime del producto. Por ejemplo, puede ver los directorios siguientes:

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

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

Use el comando rm -rf para quitar una versión de .NET. Por ejemplo, para quitar el SDK 6.0.406, ejecute el comando siguiente:

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

Importante

Es posible que los directorios de la versión no coincidan con la "versión" que está desinstalando. Los entornos de ejecución individuales y los SDK que se instalan con una sola versión de .NET pueden tener versiones diferentes. Por ejemplo, puede que haya instalado el entorno de ejecución de ASP.NET Core 8, con el que se instaló el entorno de ejecución de ASP.NET Core 8.0.2 y el entorno de ejecución de .NET 8.0.8. Cada uno tiene un directorio con versión diferente. Para obtener más información, vea Introducción a la creación de versiones de .NET.

Al instalar manualmente .NET, generalmente se instala en el directorio /usr/local/share/dotnet/ o $HOME/.dotnet. El SDK, el entorno de ejecución y el host de .NET se instalan en subdirectorios independientes. Estos directorios de "componentes" contienen un directorio para cada versión de .NET. Al quitar los directorios con versiones, se quita esa versión de .NET del sistema. Estos directorios pueden variar en función de la versión de macOS.

Hay tres comandos que se pueden usar a fin de detectar dónde está instalado .NET: dotnet --list-sdks para los SDK, dotnet --list-runtimes para los runtimes y dotnet --info para todo. Estos comandos no muestran el host de .NET. Para determinar qué hosts están instalados, compruebe el directorio /usr/local/share/dotnet/host/fxr/. La lista siguiente representa los directorios de una versión específica de .NET, donde la variable $version representa la versión de .NET:

  • SDK:

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

  • Entorno de ejecución:

    El runtime se basa en runtimes de productos .NET específicos, como Microsoft.AspNetCore.All o Microsoft.NETCore.App (el runtime de .NET específicamente). Se instalan en el directorio /usr/local/share/dotnet/shared/$product/$version, donde $product es el runtime del producto. Por ejemplo, puede ver los directorios siguientes:

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

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

Use el comando rm -rf para quitar una versión de .NET. Por ejemplo, para quitar el SDK 6.0.406, ejecute el comando siguiente:

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

Importante

Es posible que los directorios de la versión no coincidan con la "versión" que está desinstalando. Los entornos de ejecución individuales y los SDK que se instalan con una sola versión de .NET pueden tener versiones diferentes. Por ejemplo, puede que haya instalado el entorno de ejecución de ASP.NET Core 8, con el que se instaló el entorno de ejecución de ASP.NET Core 8.0.2 y el entorno de ejecución de .NET 8.0.8. Cada uno tiene un directorio con versión diferente. Para obtener más información, vea Introducción a la creación de versiones de .NET.

Importante

Si usa un equipo Mac basado en Arm, como uno con un chip M1, revise las rutas de acceso de directorio que se describen en Instalación de .NET en equipos Mac basados en Arm.

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 se deben desinstalar.

Dependencia de Visual Studio en versiones de SDK de .NET

Antes de la versión 16.3 de Visual Studio 2019, los instaladores de Visual Studio llamaban al instalador de SDK en busca de la versión de .NET Core 2.1 o 2.2. Como resultado, las versiones del SDK aparecen en el cuadro de diálogo Aplicaciones y características de Windows. La eliminación de los SDK de .NET que se instalaron con Visual Studio mediante el instalador independiente podría interrumpir Visual Studio. Si Visual Studio tiene problemas después de desinstalar los SDK, ejecute reparar en esa versión específica de Visual Studio. En la tabla siguiente se muestran algunas de las dependencias de Visual Studio en las versiones de SDK de .NET Core:

Versión de Visual Studio Versión del SDK de .NET Core
Visual Studio 2019, versión 16.2 SDK de .NET Core 2.2.4xx, 2.1.8xx
Visual Studio 2019, versión 16.1 SDK de .NET Core 2.2.3xx, 2.1.7xx
Visual Studio 2019, versión 16.0 SDK de .NET Core 2.2.2xx, 2.1.6xx
Visual Studio 2017, versión 15.9 SDK de .NET Core 2.2.1xx, 2.1.5xx
Visual Studio 2017, versión 15.8 SDK de .NET Core 2.1.4xx

A partir de la versión 16.3 de Visual Studio 2019, Visual Studio se encarga de su propia copia del SDK de .NET. Por ese motivo, ya no verá las versiones del SDK en el cuadro de diálogo Aplicaciones y características.

Eliminación del directorio de reserva de NuGet

Antes del SDK de .NET Core 3.0, los instaladores del SDK de .NET Core usaban un directorio denominado NuGetFallbackFolder para almacenar una caché de paquetes NuGet. Esta memoria caché se utilizó durante operaciones como dotnet restore o dotnet build /t:Restore. NuGetFallbackFolder se encontró en la carpeta sdk donde está instalado .NET. Por ejemplo, podría estar en C:\Archivos de programa\dotnet\sdk\NuGetFallbackFolder en Windows y en /usr/local/share/dotnet/sdk/NuGetFallbackFolder en macOS.

Es posible que quiera quitar este directorio, si ocurre lo siguiente:

  • Solo desarrolla con el SDK de .NET Core 3.0, .NET 5 o versiones posteriores.
  • Está desarrollando con versiones del SDK de .NET Core anteriores a la 3.0, pero puede trabajar en línea.

Si quiere quitar el directorio de reserva de NuGet, puede eliminarlo, pero necesitará privilegios de administrador para hacerlo.

No se recomienda eliminar el directorio dotnet. Si lo hace, se quitarán las herramientas globales que haya instalado previamente. Además, en Windows:

  • Interrumpirá Visual Studio 2019 versión 16.3 y versiones posteriores. Puede ejecutar Reparar para recuperarlo.
  • Si hay entradas del SDK de .NET Core en el cuadro de diálogo Aplicaciones y características, se quedarán huérfanas.