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 en tiempo de ejecución de .NET son compatibles dentro de una banda de versiones principal, como 8.x y 7.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 las Aplicaciones y características de Windows o la página de configuración de Aplicaciones > Aplicaciones instaladas para quitar versiones de entorno de ejecución y el SDK de .NET. Vaya al menú Inicio para buscar Agregar o quitar programas para abrir la página de configuración, tal como se muestra en la siguiente imagen: en la ilustración se ve 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.

Menú Inicio de Windows donde aparece el texto Agregar o quitar para filtrar los resultados de búsqueda

En la página de configuración, busque .net para buscar las versiones instaladas en el equipo. Seleccione ...>Desinstalar para desinstalar el elemento. Si usa Windows 10, seleccione el botón Desinstalar en el elemento que desee desinstalar. En la imagen siguiente se muestra la página de configuración de Aplicaciones instaladas en Windows 11:

Cuadro de diálogo Aplicaciones instaladas de Windows con la palabra

Importante

Si el elemento que va a desinstalar indica que es de Visual Studio, use el Instalador de Visual Studio para eliminar esas versiones de .NET.

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 usa en Fedora, CentOS Stream, 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. Solo se necesitan los números de versión principal y secundaria: por ejemplo, se puede hacer referencia a la versión 8.0.200 del SDK de .NET como paquete dotnet-sdk-8.0.

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 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. Para obtener más información, consulte Información general sobre las herramientas de desinstalación de .NET.

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.