En este artículo se explica qué versiones de .NET son compatibles con Windows, cómo instalar .NET y cuál es la diferencia entre el SDK y el entorno de ejecución.
A diferencia de .NET Framework, .NET no está vinculado a su versión de Windows. Solo puede tener instalada una versión de .NET Framework en Windows. Pero .NET es independiente y puede instalarse en cualquier lugar del equipo. Algunas aplicaciones pueden incluir su propia copia de .NET.
De forma predeterminada, .NET se instala en el directorio Archivos de programa\dotnet del equipo, a menos que el método de instalación elija un directorio diferente.
.NET está formado por el entorno de ejecución y el SDK. El runtime ejecuta aplicaciones .NET y el SDK se usa para crear aplicaciones.
Elección del runtime adecuado
Hay tres runtimes diferentes para Windows, que permiten ejecutar diferentes tipos de aplicaciones. El SDK incluye los tres entornos de ejecución, y un instalador para un entorno de ejecución podría incluir un entorno de ejecución adicional. En la tabla siguiente se describe qué runtime se incluye con un instalador de .NET determinado:
Instalador
Incluye .NET Runtime
Incluye .NET Desktop Runtime
Incluye ASP.NET Core Runtime
Runtime de .NET
Sí
No
No
.NET Desktop Runtime
Sí
Sí
No
ASP.NET Core Runtime
No
No
Sí
SDK de .NET
Sí
Sí
Sí
Para asegurarse de que puede ejecutar todas las aplicaciones de .NET en Windows, instale tanto el runtime de ASP.NET Core como el runtime de escritorio de .NET. ASP.NET Core Runtime ejecuta aplicaciones basadas en web y .NET Desktop Runtime ejecuta aplicaciones de escritorio, como Windows Presentation Foundation (WPF) o una aplicación de Windows Forms.
Cómo elegir la instalación de .NET
Hay diferentes maneras de instalar .NET y algunos productos pueden administrar su propia versión de .NET. Si instala .NET a través de un software que administra su propia versión de .NET, es posible que no esté habilitado en todo el sistema. Asegúrese de comprender las implicaciones de instalar .NET a través de otro software.
Si no sabe con certeza qué método debe elegir después de revisar las listas de las secciones siguientes, es probable que deba usar el instalador de .NET.
Use Visual Studio para instalar .NET cuando quiera desarrollar aplicaciones .NET mediante Visual Studio. Visual Studio administra su propia copia de .NET. Este método instala las plantillas SDK, runtime y Visual Studio.
Instale la extensión kit de desarrollo de C# para Visual Studio Code para desarrollar aplicaciones .NET. La extensión puede usar un SDK que ya esté instalado o instalar uno automáticamente.
Instale .NET con un paquete de Windows Installer, que es un ejecutable que debe ejecutar usted. Este método puede instalar el SDK y el runtime. Las instalaciones se realizan en todo el sistema.
Use WinGet para instalar .NET cuando quiera administrar .NET a través de la línea de comandos. Este método puede instalar el SDK y el runtime. Las instalaciones se realizan en todo el sistema.
Como recordatorio, esta tabla se aplica a .NET moderno (en lugar de .NET Framework). Para instalar .NET Framework, consulte la guía de instalación de .NET Framework.
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.
Sistema operativo
.NET 9 (arquitecturas)
.NET 8 (arquitecturas)
Windows 11 (24H2, 23H2, 22H2 Ent/Edu)
✔️ x64, x86, Arm64
✔️ x64, x86, Arm64
Windows 10 (22H2+)
✔️ x64, x86, Arm64
✔️ x64, x86, Arm64
Windows Server 2025 Windows Server 2022 Windows Server 2019 Windows Server, versión 1903 o posterior Windows Server 2016 Windows Server 2012 R2 Windows Server 2012
Ya no hay una versión de .NET compatible con Windows 7 y Windows 8.1. Las últimas versiones admitidas fueron .NET 6 y la compatibilidad finalizó el 12 de noviembre de 2024.
Windows Server 2012 sigue siendo compatible con cualquier versión de .NET que siga siendo compatible.
Las tres versiones de Windows requieren que se instalen más dependencias:
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
Equipos Windows basados en Arm
.NET es compatible con equipos Windows basados en Arm. En las secciones siguientes se describen las cosas que debe tener en cuenta al instalar .NET.
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\.
Variables de ruta de acceso
Puede 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.
Instalación con Visual Studio
Visual Studio instala su propia copia de .NET independiente de otras copias de .NET. Diferentes versiones de Visual Studio admiten versiones diferentes de .NET. La versión más reciente de Visual Studio siempre admite la versión más reciente de .NET.
El Instalador de Visual Studio instala y configura Visual Studio. Algunas cargas de trabajo de Visual Studio incluyen .NET, como ASP.NET y desarrollo web y desarrollo de la interfaz de usuario de aplicaciones multiplataforma de .NET. Se pueden instalar versiones específicas de .NET a través de la pestaña Componentes individuales.
La documentación de Visual Studio proporciona instrucciones sobre cómo hacer lo siguiente:
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
9
Visual Studio 2022, versión 17.12 o posterior.
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.
Abra Visual Studio.
Seleccione Ayuda>Acerca de Microsoft Visual Studio.
Lea el número de versión en el cuadro de diálogo Acerca de.
Visual Studio Code es un editor de código fuente ligero y eficaz que se ejecuta en el escritorio. Visual Studio Code puede usar el SDK que ya está instalado en el sistema. Además, la extensión del Kit de desarrollo de C# instalará .NET automáticamente si aún no está instalado.
Para obtener instrucciones sobre cómo instalar .NET a través de Visual Studio Code, consulte Introducción a C# en VS Code.
Instalador de .NET
La página de descarga de .NET proporciona ejecutables de Windows Installer.
Seleccione la versión de .NET que desea descargar, como 9.0.
Busque el cuadro de Runtime o SDK que contiene los vínculos para descargar .NET.
En la columna Instaladores , busque la fila Windows y seleccione el vínculo de la arquitectura de CPU. Si no conoce la versión, seleccione x64, que es la más común.
El explorador debe descargar automáticamente el instalador.
Sugerencia
En la imagen siguiente se muestra el SDK, pero también puede descargar el runtime.
Abra el Explorador de Windows y navegue hasta donde se descargó el archivo, lo más probable es que sea la carpeta Descargas.
Haga doble clic en el archivo para instalar .NET.
Se abre el cuadro de diálogo de Windows Installer.
Seleccione Instalar y siga las instrucciones para instalar .NET.
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 es probablemente un código de error.
Microsoft Update
Los ejecutables del instalador de .NET son productos independientes que se pueden atender mediante Microsoft Update (MU) en Windows. MU es diferente a Windows Update (WU), que se usa para atender componentes del sistema operativo como .NET Framework.
Tanto las correcciones de seguridad como las que no son de seguridad para las versiones compatibles de .NET se proporcionan a través de MU mediante varios canales de distribución. Las actualizaciones automáticas (AU) son relevantes para los usuarios finales y los consumidores, mientras que Windows Server Update Services (WSUS) y el catálogo de Windows Update son relevantes para los administradores de TI.
Los ejecutables del instalador de .NET admiten instalaciones en paralelo (SxS) en versiones principales y secundarias para diferentes arquitecturas y componentes, como el entorno de ejecución y el SDK. Por ejemplo, puede instalar el entorno de ejecución 6.0.15 (x64) y 6.0.17 (x86). Cuando se desencadena mu, ofrecerá el instalador más reciente para ambas instalaciones.
Bloquear actualizaciones
Aunque la mayoría de los usuarios prefieren mantenerse al día, es posible bloquear las actualizaciones de .NET mediante las claves del Registro en la tabla siguiente.
Versión de .NET
Clave del Registro
Nombre
Tipo
Valor
All
HKLM\SOFTWARE\Microsoft\.NET
BlockMU
REG_DWORD
0x00000001
.NET 9
HKLM\SOFTWARE\Microsoft\.NET\9.0
BlockMU
REG_DWORD
0x00000001
.NET 8
HKLM\SOFTWARE\Microsoft\.NET\8.0
BlockMU
REG_DWORD
0x00000001
.NET 7
HKLM\SOFTWARE\Microsoft\.NET\7.0
BlockMU
REG_DWORD
0x00000001
.NET 6
HKLM\SOFTWARE\Microsoft\.NET\6.0
BlockMU
REG_DWORD
0x00000001
.NET 5
HKLM\SOFTWARE\Microsoft\.NET\5.0
BlockMU
REG_DWORD
0x00000001
.NET Core 3.1
HKLM\SOFTWARE\Microsoft\.NET\3.1
BlockMU
REG_DWORD
0x00000001
.NET Core 2.1
HKLM\SOFTWARE\Microsoft\.NET\2.1
BlockMU
REG_DWORD
0x00000001
Actualizaciones automáticas del sistema operativo del servidor
WSUS y catálogo de Microsoft Update admiten las actualizaciones de los sistemas operativos de servidor, pero no au. Los sistemas operativos de servidor pueden optar por recibir actualizaciones a través de AU mediante las siguientes claves del Registro.
Versión de .NET
Clave del Registro
Nombre
Tipo
Valor
All
HKLM\SOFTWARE\Microsoft\.NET
AllowAUOnServerOS
REG_DWORD
0x00000001
.NET 9
HKLM\SOFTWARE\Microsoft\.NET\9.0
AllowAUOnServerOS
REG_DWORD
0x00000001
.NET 8
HKLM\SOFTWARE\Microsoft\.NET\8.0
AllowAUOnServerOS
REG_DWORD
0x00000001
.NET 7
HKLM\SOFTWARE\Microsoft\.NET\7.0
AllowAUOnServerOS
REG_DWORD
0x00000001
.NET 6
HKLM\SOFTWARE\Microsoft\.NET\6.0
AllowAUOnServerOS
REG_DWORD
0x00000001
.NET 5
HKLM\SOFTWARE\Microsoft\.NET\5.0
AllowAUOnServerOS
REG_DWORD
0x00000001
.NET Core 3.1
HKLM\SOFTWARE\Microsoft\.NET\3.1
AllowAUOnServerOS
REG_DWORD
0x00000001
Elegir cuándo se quitan las versiones anteriores
Los ejecutables del instalador siempre instalan contenido nuevo antes de quitar la instalación anterior. Las aplicaciones que se ejecutan pueden interrumpirse o bloquearse cuando se quitan los entornos de ejecución anteriores. Para minimizar el impacto de actualizar .NET, puede especificar cuándo se debe quitar una instalación anterior de .NET mediante una clave del Registro.
Versión de .NET
Clave del Registro
Nombre
Tipo
Valor
All
HKLM\SOFTWARE\Microsoft\.NET
RemovePreviousVersion
REG_SZ
always, nevero nextSession
.NET 9
HKLM\SOFTWARE\Microsoft\.NET\9.0
RemovePreviousVersion
REG_SZ
always, nevero nextSession
.NET 8
HKLM\SOFTWARE\Microsoft\.NET\8.0
RemovePreviousVersion
REG_SZ
always, nevero nextSession
never conserva las instalaciones anteriores y requiere una intervención manual para quitar las instalaciones anteriores de .NET.
always quita las instalaciones anteriores después de instalar la nueva versión. Este es el comportamiento predeterminado en .NET.
nextSession aplaza la eliminación hasta la siguiente sesión de inicio de sesión de los miembros del grupo Administradores.
Los valores no distinguen mayúsculas de minúsculas y los valores no válidos tienen como valor predeterminado always.
Cuando se aplaza la eliminación, el instalador escribe un comando en la clave del Registro RunOnce para desinstalar la versión anterior. El comando solo se ejecuta si un usuario del grupo Administradores inicia sesión en el equipo.
Nota
Esta característica solo está disponible en .NET 8 (8.0.11), 9 y versiones posteriores de .NET. Solo se aplica a los ejecutables del instalador independiente y afecta a las distribuciones como WinGet que las usan.
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.exe. Para obtener más información sobre cómo instalar y usar WinGet, consulte Usar la herramienta WinGet para instalar y administrar aplicaciones.
Si va a instalar .NET en todo el sistema, instale con privilegios administrativos.
Instalación de la instancia en tiempo de ejecución
Hay varios runtimes distintos que se pueden instalar. Consulte la sección Elegir el runtime correcto para comprender lo que se incluye con cada runtime.
Use el comando winget search para buscar diferentes versiones del paquete que desea instalar. Por ejemplo, el comando siguiente busca todos los SDK de .NET disponibles a través de WinGet:
Símbolo del sistema de Windows
winget search Microsoft.DotNet.SDK
Los resultados de la búsqueda se imprimen en una tabla con cada identificador de paquete.
Output
Name Id Version Source
----------------------------------------------------------------------------------------------
Microsoft .NET SDK 9.0 Microsoft.DotNet.SDK.9 9.0.100 winget
Microsoft .NET SDK 8.0 Microsoft.DotNet.SDK.8 8.0.300 winget
Microsoft .NET SDK 7.0 Microsoft.DotNet.SDK.7 7.0.409 winget
Microsoft .NET SDK 6.0 Microsoft.DotNet.SDK.6 6.0.422 winget
Microsoft .NET SDK 5.0 Microsoft.DotNet.SDK.5 5.0.408 winget
Microsoft .NET SDK 3.1 Microsoft.DotNet.SDK.3_1 3.1.426 winget
Instalación de versiones preliminares
Si hay disponible una versión preliminar, sustituya el número de versión del identificador por la palabra Preview. En el ejemplo siguiente se instala la versión preliminar del entorno de ejecución de escritorio de .NET:
Se recomienda instalar .NET a través del script de PowerShell de dotnet-install para las instalaciones de integración continua y no administrador. Si va a instalar .NET para su uso normal en el sistema, use los métodos de instalación Instalador de .NET o Administrador de paquetes de Windows.
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 script está disponible en https://dot.net/v1/dotnet-install.ps1 y el código fuente se hospeda en GitHub.
Después de descargar un instalador o una versión binaria, compruébelo para asegurarse de que el archivo no se ha modificado ni 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 archivo desde una página de descarga oficial, la suma de comprobación del archivo se muestra en un cuadro de texto. Seleccione el botón Copiar para copiar el valor de la suma de comprobación al Portapapeles.
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 :
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:
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:
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.
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:
Copie el vínculo al archivo de suma de comprobación.
Use el siguiente script, pero reemplace el vínculo para descargar el archivo de suma de comprobación adecuado:
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):
Si ve que se imprime False (Falso), el archivo que ha descargado no es válido y no debe usarse.
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.
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 debería resolver en la versión x64. Esto se corrige ajustando la variable %PATH% para resolver primero la versión x64.
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.
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.
La ventana Propiedades del sistema se abre en la pestaña Opciones avanzadas. Seleccione Variables de entorno.
En la ventana Variables de entorno, en el grupo Variables del sistema, seleccione la fila Path* y después seleccione el botón Editar.
Use los botones Subir y Bajar para poner la entrada C:\Archivos de programa\dotnet\ encima de C:\Archivos de programa (x86)\dotnet\.
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.
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
.NET es una plataforma de desarrollador de código abierto gratuita y multiplataforma para crear muchos tipos diferentes de aplicaciones. Con .NET, puede usar varios lenguajes, editores y bibliotecas para crear juegos y aplicaciones para la Web, dispositivos móviles y de escritorio, y el Internet de las cosas (IoT).
Obtenga información sobre cómo .NET busca y elige las versiones del entorno de ejecución para el programa. Además, este artículo le enseña cómo forzar una versión específica.
En este artículo se describe cómo desinstalar .NET en Windows, macOS y Linux. Desinstale .NET manualmente, mediante un administrador de paquetes o con la herramienta de desinstalación de .NET.
Aprenda sobre el SDK de .NET (anteriormente conocido como SDK de .NET Core), que es un conjunto de bibliotecas y herramientas que se usan para crear proyectos de .NET.
Información general de la herramienta de instalación de .NET para autores de extensiones, una extensión de Visual Studio Code para instalar el entorno de ejecución de .NET.