Instalación de .NET en Windows
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.
Desarrolladores
-
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.
Visual Studio Code: kit de desarrollo de C#
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.
Usuarios y desarrolladores
-
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.
Administrador de paquetes de Windows (WinGet)
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.
-
Un script de PowerShell que puede automatizar la instalación del SDK o del entorno de ejecución. Puede elegir la versión de .NET que se va a instalar.
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.
Sugerencia
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 8 (arquitecturas) | .NET 6 (arquitecturas) |
---|---|---|
Windows 11 (24H2, 23H2, 22H2 Ent/Edu) | ✔️ x64, x86, Arm64 | ✔️ x64, Arm64 |
Windows 10 (22H2+) | ✔️ x64, x86, Arm64 | ✔️ x64, x86, Arm64 |
Windows 8.1 | ❌ | ✔️ x64, x86 |
Windows 7 SP1 ESU | ❌ | ✔️ x64, x86 |
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 |
✔️ x64, x86 | ✔️ x64, x86 |
Windows Server Core 2012 (y R2) | ✔️ x64, x86 | ✔️ x64, x86 |
Nano Server (2022, 2019) | ✔️ x64 | ✔️ x64 |
Sugerencia
Un símbolo +
representa la versión mínima.
Windows 7, 8.1, Server 2012
Windows 7 y Windows 8.1 solo admiten .NET 6. Sin embargo, .NET 6 no es compatible a partir del 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:
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
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 del SDK
Las versiones x86, 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\.
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:
Versiones de .NET y 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.
- 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.
Para obtener más información, consulte SDK de .NET, MSBuild y control de versiones de Visual Studio.
Instalación 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 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.
Abra un explorador web y vaya a https://dotnet.microsoft.com/download/dotnet.
Seleccione la versión de .NET que desea descargar, como 8.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.
Para obtener información sobre cómo usar la CLI de .NET, consulte Información general sobre la CLI de .NET.
Opciones de línea de comandos
Use el parámetro /?
para ver una lista de opciones.
Si quiere instalar .NET de forma silenciosa, como en un entorno de producción o para admitir la integración continua, use las siguientes opciones:
/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
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 es probablemente un código de error.
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.
Los paquetes WinGet de .NET son:
Microsoft.DotNet.Runtime.8
—.NET Runtime 8.0.Microsoft.DotNet.AspNetCore.8
—ASP.NET Core Runtime 8.0Microsoft.DotNet.DesktopRuntime.8
—.NET Desktop Runtime 8.0Microsoft.DotNet.SDK.8
—.NET SDK 8.0
Instalación del SDK
Si instala el SDK para , no necesita instalar el entorno de ejecución correspondiente.
Abra un terminal, como PowerShell o símbolo del sistema.
Ejecute el comando
winget install
y pase el nombre del paquete del SDK:winget install Microsoft.DotNet.SDK.8
Para obtener información sobre cómo usar la CLI de .NET, consulte Información general sobre la CLI de .NET.
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.
Abra un terminal, como PowerShell o símbolo del sistema.
Ejecute el comando
winget install
y pase el nombre del paquete del SDK:winget install Microsoft.DotNet.DesktopRuntime.8 winget install Microsoft.DotNet.AspNetCore.8
Para obtener información sobre cómo usar la CLI de .NET, consulte Información general sobre la CLI de .NET.
Buscar versiones
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:
winget search Microsoft.DotNet.SDK
Los resultados de la búsqueda se imprimen en una tabla con cada identificador de paquete.
Name Id Version Source
----------------------------------------------------------------------------------------------
Microsoft .NET SDK 9.0 Preview Microsoft.DotNet.SDK.Preview 9.0.100-preview.3.24204.13 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
Puede instalar versiones preliminares al sustituir el número de versión, como 8
, 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 con PowerShell
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.
Para más información sobre el script, consulte la referencia de los scripts de dotnet-install.
Instalación de la instancia en tiempo de ejecución
El entorno de ejecución de .NET se instala al proporcionar el modificador -Runtime
.
Descargar el script de instalación de https://dot.net/v1/dotnet-install.ps1
Abra PowerShell y vaya a la carpeta que contiene el script.
Ejecute los siguientes comandos para instalar tanto el runtime de escritorio como el runtime de ASP.NET Core para obtener la máxima compatibilidad:
dotnet-install.ps1 -Runtime windowsdesktop dotnet-install.ps1 -Runtime aspnetcore
Para obtener información sobre cómo usar la CLI de .NET, consulte Información general sobre la CLI de .NET.
Instalación del SDK
Si instala el SDK, no es necesario instalar los runtimes.
Descargar el script de instalación de https://dot.net/v1/dotnet-install.ps1
Abra PowerShell y vaya a la carpeta que contiene el script.
Ejecute el comando siguiente para instalar el SDK de .NET.
dotnet-install.ps1
Nota:
El SDK se instala al omitir el modificador
-Runtime
.
Para obtener información sobre cómo usar la CLI de .NET, consulte Información general sobre la CLI de .NET.
Validation
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 :
> 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:
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:
Invoke-WebRequest https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt -OutFile 8.0.0-sha.txt
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.
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
- La compilación de aplicaciones es más lenta de lo esperado
- Faltan
hostfxr.dll
/api-ms-win-crt-runtime-l1-1-0.dll
/api-ms-win-cor-timezone-l1-1-0.dll
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 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.> 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
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.
Faltan hostfxr.dll
/ api-ms-win-crt-runtime-l1-1-0.dll
/ api-ms-win-cor-timezone-l1-1-0.dll
Instale Microsoft Visual C++ 2015-2019 redistribuible (64 bits o 32 bits).