Instalación de .NET en Windows

En este artículo obtendrá información sobre cómo instalar .NET en Windows. .NET está formado por el entorno de ejecución y el SDK. El entorno de ejecución se usa para ejecutar una aplicación de .NET, y puede incluirse con la aplicación. El SDK se usa para crear aplicaciones y bibliotecas de .NET. El entorno de ejecución de .NET siempre se instala con el SDK.

La versión más reciente de .NET es la 8.0.

Hay dos tipos de versiones admitidas: versiones de soporte técnico a largo plazo (LTS) y versiones de soporte técnico estándar (STS). La calidad de todas las versiones es la misma. La única diferencia es la duración del soporte técnico. Las versiones LTS obtienen soporte técnico y revisiones gratuitas durante tres años. Las versiones STS obtienen soporte técnico y revisiones gratuitas durante 18 meses. Para más información, consulte Directiva de soporte de .NET.

En la tabla siguiente se muestra el estado de compatibilidad de cada versión de .NET (y .NET Core):

✔️ Admitida ❌ No admitida
8 (LTS) 5
7 (STS) 3.1
6 (LTS) 3.0
2.1
2,0
1,1
1,0

Instalación con Administrador de paquetes de Windows (winget)

Puede instalar y administrar .NET a través del servicio Administrador de paquetes de Windows mediante la herramienta winget . Para obtener más información sobre cómo instalar y usar winget, consulte Uso de la herramienta winget.

Si va a instalar .NET en todo el sistema, instale con privilegios administrativos.

Instalación del SDK

El SDK de .NET permite desarrollar aplicaciones con .NET. Si instala el SDK de .NET, no es necesario instalar los entornos de ejecución correspondientes. Para instalar el SDK de .NET, ejecute el comando siguiente:

winget install Microsoft.DotNet.SDK.8

Instalación de la instancia en tiempo de ejecución

Hay tres runtimes . de .NET diferentes que puede instalar, sin embargo, debería instalar tanto .NET Desktop Runtime como ASP.NET Core Runtime para obtener la máxima compatibilidad con todos los tipos de aplicaciones .NET. En la tabla siguiente se describe lo que se incluye con cada runtime:

Incluye .NET Runtime Incluye .NET Desktop Runtime Incluye ASP.NET Core Runtime
Runtime de .NET No No
.NET Desktop Runtime No
ASP.NET Core Runtime No No

En la lista siguiente se proporcionan detalles sobre cada runtime junto con los comandos winget para instalarlos:

  • .NET Desktop Runtime

    Este runtime es compatible con las aplicaciones Windows Presentation Foundation (WPF) y Windows Forms desarrolladas con .NET. Esto no es lo mismo que .NET Framework, que viene con Windows. Este runtime incluye .NET Runtime, pero no incluye ASP.NET Core Runtime, que se debe instalar por separado.

    winget install Microsoft.DotNet.DesktopRuntime.8
    
  • Runtime de .NET

    Este es el entorno de ejecución base y contiene solo los componentes necesarios para ejecutar una aplicación de consola. Normalmente, instalaría .NET Desktop Runtime y ASP.NET Core Runtime en lugar de este.

    winget install Microsoft.DotNet.Runtime.8
    
  • ASP.NET Core Runtime

    Este runtime ejecuta aplicaciones de servidor web y proporciona muchas API relacionadas con la Web. ASP.NET Core Runtime le permite ejecutar aplicaciones creadas con .NET que no proporcionaban el runtime. Debe instalar .NET Runtime además de este runtime. Los siguientes comandos instalan ASP.NET Core Runtime. En el terminal, ejecute los siguientes comandos:

    winget install Microsoft.DotNet.AspNetCore.8
    

Puede instalar versiones preliminares de los entornos de ejecución sustituyendo el número de versión, como 6, por la palabra Preview. En el ejemplo siguiente se instala la versión preliminar del entorno de ejecución de escritorio de .NET:

winget install Microsoft.DotNet.DesktopRuntime.Preview

Instalación junto con Visual Studio Code

Visual Studio Code es un editor de código fuente ligero y eficaz que se ejecuta en el escritorio. Visual Studio Code está disponible para Windows, macOS y Linux.

Aunque Visual Studio Code no viene con un instalador automatizado de .NET Core como Visual Studio, agregar compatibilidad con .NET Core es sencillo.

  1. Descargue e instale Visual Studio Code.
  2. Descargue e instale el SDK de .NET.
  3. Instale la extensión de C# desde el Marketplace de Visual Studio Code.

La extensión C# For Visual Studio Code incluye el último SDK de .NET, y no necesita instalar ningún runtime de .NET por separado.

Instalación con Windows Installer

Hay tres runtimes . de .NET diferentes que puede instalar, sin embargo, debería instalar tanto .NET Desktop Runtime como ASP.NET Core Runtime para obtener la máxima compatibilidad con todos los tipos de aplicaciones .NET. En la tabla siguiente se describe lo que se incluye con cada runtime:

Incluye .NET Runtime Incluye .NET Desktop Runtime Incluye ASP.NET Core Runtime
Runtime de .NET No No
.NET Desktop Runtime No
ASP.NET Core Runtime No No

El SDK de .NET permite crear aplicaciones .NET e incluye todos los runtimes.

La página de descarga de .NET proporciona ejecutables de Windows Installer.

Si quiere instalar .NET de forma silenciosa, como en un entorno de producción o para admitir la integración continua, use las expresiones switch siguientes:

  • /install
    Instala .NET.

  • /quiet
    Impide que se muestren interfaces de usuario y solicitudes.

  • /norestart
    Suprime los intentos de reinicio.

dotnet-sdk-8.0.100-win-x64.exe /install /quiet /norestart

Para obtener más información, vea Opciones de la línea de comandos del instalador estándar.

Sugerencia

El instalador devuelve un código de salida de 0 para éxito y un código de salida de 3010 para indicar que se requiere un reinicio. Cualquier otro valor suele ser un código de error.

Instalación mediante la automatización de PowerShell

Los scripts de dotnet-install se usan para la automatización de CI y las instalaciones que no son de administrador del entorno de ejecución. Se puede descargar el script desde la página de referencia del script dotnet-install.

El valor predeterminado del script es instalar la versión más reciente de soporte técnico a largo plazo (LTS), que actualmente es .NET 8. Puede elegir una versión concreta especificando el modificador Channel. Incluya el modificador Runtime para instalar un entorno de ejecución. De lo contrario, el script instala el SDK.

El siguiente comando instala tanto el runtime de escritorio como el de ASP.NET Core para obtener la máxima compatibilidad.

dotnet-install.ps1 -Channel 8.0 -Runtime windowsdesktop
dotnet-install.ps1 -Channel 8.0 -Runtime aspnetcore

Instale el SDK omitiendo el modificador -Runtime. El modificador -Channel se establece en este ejemplo en STS, que instala la versión más reciente de compatibilidad con términos estándar, que es .NET 7.

dotnet-install.ps1 -Channel STS

Instalación con Visual Studio

Si usa Visual Studio para desarrollar aplicaciones de .NET, en la tabla siguiente se describe la versión mínima necesaria de Visual Studio, en función de la versión del SDK de .NET de destino.

Versión de SDK de .NET Versión de Visual Studio
8 Visual Studio 2022, versión 17.8 o posterior.
7 Visual Studio 2022, versión 17.4 o posterior.
6 Visual Studio 2022, versión 17.0 o posterior
5 Visual Studio 2019, versión 16.8 o posterior.
3.1 Visual Studio 2019, versión 16.4 o posterior.
3.0 Visual Studio 2019, versión 16.3 o posterior.
2.2 Visual Studio 2017, versión 15.9 o posterior.
2.1 Visual Studio 2017, versión 15.7 o posterior.

Si ya tiene Visual Studio instalado, puede comprobar la versión siguiendo los pasos que se detallan a continuación.

  1. Abra Visual Studio.
  2. Seleccione Ayuda>Acerca de Microsoft Visual Studio.
  3. Lea el número de versión en el cuadro de diálogo Acerca de.

Visual Studio puede instalar el SDK y el entorno de ejecución de .NET más recientes.

Para obtener más información, consulte Control de versiones del SDK de .NET, MSBuild y Visual Studio.

Selección de una carga de trabajo

Al instalar o modificar Visual Studio, seleccione una de las cargas de trabajo siguientes o más, en función del tipo de aplicación que quiera compilar:

  • La carga de trabajo Desarrollo multiplataforma de .NET Core en la sección Otros conjuntos de herramientas.
  • La carga de trabajo Desarrollo de ASP.NET y web en la sección Web y nube.
  • La carga de trabajo Desarrollo de Azure en la sección Web y nube.
  • La carga de trabajo Desarrollo de escritorio de .NET en la sección Móviles y de escritorio.

Windows Visual Studio 2019 with .NET Core workload

Versiones compatibles

En la tabla siguiente se muestra una lista de versiones de .NET actualmente compatibles y las versiones de Windows en las que se admiten. Estas versiones siguen siendo compatibles hasta que la versión de .NET llega al fin del soporte técnico o la versión de Windows llega al final del ciclo de vida.

Las fechas de fin de servicio de Windows 10 están segmentadas por edición. En la tabla que hay a continuación solo se tienen en cuenta las ediciones Home, Pro, Pro Education y Pro for Workstations. Para ver detalles específicos, consulte la hoja informativa sobre el ciclo de vida de Windows.

Sugerencia

Un símbolo + representa la versión mínima.

Sistema operativo .NET 8 .NET 7 .NET 6
Windows 11 ✔️ ✔️ ✔️
Windows Server 2022 ✔️ ✔️ ✔️
Windows Server, versión 1903 o posterior ✔️ ✔️ ✔️
Windows 10, versión 1607 o posterior ✔️ ✔️ ✔️
Windows 8.1 ✔️
Windows 7 SP1 ESU ✔️
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
✔️ ✔️ ✔️
Windows Server Core 2012 R2 ✔️ ✔️ ✔️
Windows Server Core 2012 ✔️ ✔️ ✔️
Nano Server, versión 1809+ ✔️ ✔️ ✔️
Nano Server, versión 1803

Para obtener más información sobre los sistemas operativos compatibles con .NET 8, las distribuciones y la directiva del ciclo de vida, vea Versiones de SO compatibles con .NET 8.

Versiones no admitidas

Las versiones siguientes de .NET ya ❌ no se admiten:

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

Comprobación de los binarios descargados

Después de descargar un instalador, compruébelo para asegurarse de que el archivo no se ha cambiado o dañado. Puede verificar la suma de comprobación en el equipo y, a continuación, compararla con lo notificado en el sitio web de descarga.

Al descargar un instalador o binario desde una página de descarga oficial, se muestra la suma de comprobación del archivo. Seleccione el botón Copiar para copiar el valor de la suma de comprobación al Portapapeles.

The .NET download page with checksum

Puede usar PowerShell o el símbolo del sistema para validar la suma de comprobación del archivo que ha descargado. Por ejemplo, el siguiente comando comunica la suma de comprobación del archivo dotnet-sdk-8.0.100-win-x64.exe :

> certutil -hashfile dotnet-sdk-8.0.100-win-x64.exe SHA512
SHA512 hash of dotnet-sdk-8.0.100-win-x64.exe:
248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e
CertUtil: -hashfile command completed successfully.
> (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash
248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e

Compare la suma de comprobación con el valor proporcionado por el sitio de descarga.

Uso de PowerShell y un archivo de suma de comprobación para la validación

Las notas de la versión de .NET contienen un vínculo a un archivo de suma de comprobación que puede usar para validar el archivo descargado. En los pasos siguientes se describe cómo descargar el archivo de suma de comprobación y validar un binario de instalación de .NET:

  1. La página de notas de la versión de .NET 8 sobre GitHub en https://github.com/dotnet/core/tree/main/release-notes/8.0 contiene una sección denominada Versiones. La tabla de esa sección se vincula a las descargas y los archivos de suma de comprobación para cada versión de .NET 8:

    The github release notes version table for .NET

  2. Seleccione el vínculo de la versión de .NET que ha descargado. En la sección anterior se usó el SDK de .NET 8.0.100, que se encuentra en la versión de .NET 8.0.0.

    Sugerencia

    Si no está seguro de qué versión de .NET contiene el archivo de suma de comprobación, explore los vínculos hasta que lo encuentre.

  3. En la página de versión, puede ver la versión del runtime de .NET y del SDK de .NET y un vínculo al archivo de suma de comprobación:

    The download table with checksums for .NET

  4. Copie el vínculo al archivo de suma de comprobación.

  5. Use el siguiente script, pero reemplace el vínculo para descargar el archivo de suma de comprobación adecuado:

    Invoke-WebRequest https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt -OutFile 8.0.0-sha.txt
    
  6. Con el archivo de suma de comprobación y el archivo de versión de .NET descargados en el mismo directorio, busque en el archivo de suma de comprobación la suma de la descarga de .NET:

    Cuando se supere la validación, verá que se imprime True (Verdadero):

    > (Get-Content .\8.0.0-sha.txt | Select-String "dotnet-sdk-8.0.100-win-x64.exe").Line -like (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash + "*"
    True
    

    Si ve que se imprime False (Falso), el archivo que ha descargado no es válido y no debe usarse.

Información en tiempo de ejecución

El entorno de ejecución se usa para ejecutar aplicaciones creadas con .NET. Cuando un autor publica una aplicación, puede incluir el tiempo de ejecución. Si no lo hace, el usuario elige si quiere instalar el tiempo de ejecución.

Hay tres runtimes . de .NET diferentes que puede instalar, sin embargo, debería instalar tanto .NET Desktop Runtime como ASP.NET Core Runtime para obtener la máxima compatibilidad con todos los tipos de aplicaciones .NET. En la tabla siguiente se describe lo que se incluye con cada runtime:

Incluye .NET Runtime Incluye .NET Desktop Runtime Incluye ASP.NET Core Runtime
Runtime de .NET No No
.NET Desktop Runtime No
ASP.NET Core Runtime No No

En la siguiente lista se enumeran los detalles de cada runtime:

  • Desktop Runtime
    Ejecuta aplicaciones de escritorio WPF y Windows Forms de .NET para Windows. Incluye el entorno de ejecución de .NET.

  • ASP.NET Core Runtime
    Ejecuta aplicaciones de ASP.NET Core.

  • Runtime de .NET
    Este entorno de ejecución es el más sencillo y no incluye ningún otro. Instale tanto ASP.NET Core Runtime como Desktop Runtime para obtener la mejor compatibilidad con las aplicaciones .NET.

Información del SDK

El SDK se usa para compilar y publicar aplicaciones y bibliotecas de .NET. La instalación del SDK incluye los tres entornos de ejecución: el de ASP.NET Core, el de escritorio y el de .NET.

Equipos Windows basados en Arm

En las secciones siguientes se describen los aspectos que debe tener en cuenta al instalar .NET en un equipo Windows basado en Arm.

Qué se admite

En la tabla siguiente se describen las versiones de .NET que se admiten en un equipo Windows basado en Arm:

Versión de .NET Architecture SDK Tiempo de ejecución Conflicto de ruta de acceso
8 Arm64 No
8 x64 No
7 Arm64 No
7 x64 No
6 Arm64 No
6 x64 No
5 Arm64
5 x64 No

Las versiones x64 y Arm64 del SDK de .NET existen de forma independiente entre sí. Si se publica una nueva versión, cada instalación de arquitectura debe actualizarse.

Diferencias de ruta de acceso

En un equipo Windows basado en Arm, todas las versiones de Arm64 de .NET se instalan en la carpeta normal C:\Archivos de programa\dotnet\. Sin embargo, la versión de x64 del SDK de .NET se instala en la carpeta C:\Archivos de programa\dotnet\x64\.

Conflictos de ruta de acceso

El SDK de .NET para x64 se instala en su propio directorio, como se describe en la sección anterior. De esta forma, las versiones Arm64 y x64 del SDK de .NET existen en la misma máquina. Sin embargo, los SDK para x64 anteriores a 6 no se admiten y se instalan en la misma ubicación que la versión Arm64, en la carpeta C:\Archivos de programa\dotnet\. Si desea instalar un SDK x64 no compatible, primero debe desinstalar la versión de Arm64. Lo mismo ocurre a la inversa, debe desinstalar el SDK x64 no compatible para instalar la versión Arm64.

Variables de ruta de acceso

Es posible que sea necesario cambiar las variables de entorno que agregan .NET a la ruta de acceso del sistema, como la variable PATH, si tiene instaladas las versiones x64 y Arm64 del SDK de .NET. Además, algunas herramientas se basan en la variable de entorno DOTNET_ROOT, que también tendría que actualizarse para que apunte a la carpeta de instalación del SDK de .NET adecuada.

Dependencias

Las versiones siguientes de Windows son compatibles con .NET 8:

Nota:

Un símbolo + representa la versión mínima.

SO Versión Arquitecturas
Windows 11 22000+ x64, x86, Arm64
Cliente de Windows 10 1607+ x64, x86, Arm64
Windows Server 2012+ x64, x86
Windows Server Core 2012+ x64, x86
Nano Server 1809+ x64

Para obtener más información sobre los sistemas operativos compatibles con .NET 8, las distribuciones y la directiva del ciclo de vida, vea Versiones de SO compatibles con .NET 8.

Windows 7, 8.1, Server 2012

Se necesitan más dependencias en caso de que se instale el SDK o el entorno de ejecución de .NET en las versiones siguientes de Windows:

Sistema operativo Prerrequisitos
Windows 7 SP1 ESU - Microsoft Visual C++ 2015-2019 Redistributable 64 bits / 32 bits
- KB3063858 64 bits / 32 bits
- Microsoft Root Certificate Authority 2011 (solo instalador sin conexión de .NET Core 2.1)
Windows 8.1 Microsoft Visual C++ 2015-2019 Redistributable 64 bits / 32 bits
Windows Server 2012 Microsoft Visual C++ 2015-2019 Redistributable 64 bits / 32 bits
Windows Server 2012 R2 Microsoft Visual C++ 2015-2019 Redistributable 64 bits / 32 bits

Los requisitos anteriores también son necesarios si se encuentra con un error relacionado con uno de los archivos DLL siguientes:

  • api-ms-win-crt-runtime-l1-1-0.dll
  • api-ms-win-cor-timezone-l1-1-0.dll
  • hostfxr.dll

Docker

Los contenedores proporcionan una manera ligera de aislar la aplicación del resto del sistema host. Los contenedores de la misma máquina comparten solo el kernel y usan los recursos proporcionados a la aplicación.

.NET se puede ejecutar en un contenedor de Docker. Las imágenes oficiales de Docker en .NET se publican en el registro de contenedor de Microsoft (MCR) y se pueden encontrar en el repositorio de Docker Hub para Microsoft .NET. Cada repositorio contiene imágenes para diferentes combinaciones de .NET (SDK o Runtime) y del sistema operativo que puede usar.

Microsoft ofrece imágenes que se adaptan a escenarios específicos. Por ejemplo, el repositorio de ASP.NET Core proporciona imágenes que se compilan para ejecutar aplicaciones de ASP.NET Core en producción.

Para obtener más información sobre el uso de .NET en un contenedor de Docker, vea Introducción a .NET y Docker y Ejemplos.

Solución de problemas

Después de instalar el SDK de .NET, puede encontrarse con problemas al intentar ejecutar comandos de la CLI de .NET. En esta sección se recopilan esos problemas comunes y se proporcionan soluciones.

No se encontró ningún SDK de .NET

Es probable que haya instalado las versiones x86 (32 bits) y x64 (64 bits) del SDK de .NET. Esto está causando un conflicto porque, al ejecutar el comando dotnet, se resuelve en la versión x86 cuando se debe resolver en la versión x64. Normalmente, esto se corrige ajustando la variable %PATH% para resolver primero la versión x64.

  1. Compruebe que tiene ambas versiones instaladas mediante la ejecución del comando where.exe dotnet. Al comprobarlo, debería ver una entrada para las carpetas Archivos de programa\ y Archivos de programa (x86)\. Si la carpeta Archivos de programa (x86)\ aparece primero, como en el ejemplo siguiente, es incorrecta y debe avanzar al paso siguiente.

    > where.exe dotnet
    C:\Program Files (x86)\dotnet\dotnet.exe
    C:\Program Files\dotnet\dotnet.exe
    

    Si es correcta y Archivos de programa\ aparece primero, no tiene el problema que se trata en esta sección y debe crear una incidencia de solicitud de ayuda de .NET en GitHub

  2. Presione el botón Windows y escriba "Editar las variables de entorno del sistema" en la barra de búsqueda. Seleccione Editar las variables de entorno del sistema.

    Windows start menu with edit environment variable

  3. La ventana Propiedades del sistema se abre en la pestaña Opciones avanzadas. Seleccione Variables de entorno.

    The Windows system properties panel open.

  4. En la ventana Variables de entorno, en el grupo Variables del sistema, seleccione la fila Path* y después seleccione el botón Editar.

    The environment variables window with user and system variables.

  5. Use los botones Subir y Bajar para poner la entrada C:\Archivos de programa\dotnet\ encima de C:\Archivos de programa (x86)\dotnet\.

    The environment variables list for the system.

La compilación de aplicaciones es más lenta de lo esperado

Asegúrese de que Smart App Control, una característica de Windows, está desactivada. No se recomienda habilitar Smart App Control en las máquinas que se usan para el desarrollo. Cualquier configuración distinta de "desactivado" podría afectar negativamente al rendimiento de SDK.

Pasos siguientes