Comparteix a través de


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 No No
.NET Desktop Runtime No
ASP.NET Core Runtime No No
SDK de .NET

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

  • Visual Studio

    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

  • Instalador de .NET

    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.

  • PowerShell

    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 ✔️ x64, x86, Arm64 ✔️ x64, Arm64
Windows Server 2022 ✔️ x64, x86 ✔️ x64, x86
Windows 10, versión 1607 o posterior ✔️ x64, x86, Arm64 ✔️ x64, x86, Arm64
Windows 8.1 ✔️ x64, x86
Windows 7 SP1 ESU ✔️ x64, x86
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, versión 1809+ ✔️ x64 ✔️ x64
Nano Server, versión 1803

Sugerencia

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

Windows 7, 8.1, Server 2012

Aunque Windows 2012 sigue siendo compatible con la versión más reciente de .NET, .NET 6 fue la última versión para admitir Windows 7 y Windows 8.1. 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

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 SDK Tiempo de ejecución Conflicto de ruta de acceso Compatible
8 No ✔️
8 No ✔️
6 No ✔️
6 No ✔️

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\.

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.0 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 contrario también es cierto. Debe desinstalar el SDK x64 no compatible para instalar la versión Arm64.

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:

Captura de pantalla que muestra el Instalador de Visual Studio con la carga de trabajo Escritorio de .NET resaltada con un cuadro rojo.

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.

  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.

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.

  1. Abra un explorador web y vaya a https://dotnet.microsoft.com/download/dotnet.

  2. Seleccione la versión de .NET que desea descargar, como 8.0.

  3. Busque el cuadro de Runtime o SDK que contiene los vínculos para descargar .NET.

  4. 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.

    Imagen de la página de descarga de .NET, con el vínculo de descarga del SDK resaltado.

  5. Abra el Explorador de Windows y navegue hasta donde se descargó el archivo, lo más probable es que sea la carpeta Descargas.

  6. Haga doble clic en el archivo para instalar .NET.

    Se abre el cuadro de diálogo de Windows Installer.

    Captura de pantalla de la ventana de la aplicación del instalador de .NET.

  7. 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.0
  • Microsoft.DotNet.DesktopRuntime.8—.NET Desktop Runtime 8.0
  • Microsoft.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.

  1. Instalar WinGet.

  2. Abra un terminal, como PowerShell o símbolo del sistema.

  3. 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.

  1. Instalar WinGet.

  2. Abra un terminal, como PowerShell o símbolo del sistema.

  3. 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.

  1. Descargar el script de instalación de https://dot.net/v1/dotnet-install.ps1

  2. Abra PowerShell y vaya a la carpeta que contiene el script.

  3. 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.

  1. Descargar el script de instalación de https://dot.net/v1/dotnet-install.ps1

  2. Abra PowerShell y vaya a la carpeta que contiene el script.

  3. 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.

La página de descarga de .NET con suma de comprobación

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:

    La tabla de notas de la versión de GitHub para .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:

    La tabla de descargas con sumas de comprobación para .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.

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 debería resolver en la versión x64. 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.

    Menú de inicio de Windows con Editar variables de entorno

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

    Panel de propiedades del sistema abierto en Windows.

  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.

    La ventana Variables de entorno con las variables de usuario y del sistema.

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

    La lista de variables de entorno del sistema.

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).