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 | Sí | No | No |
.NET Desktop Runtime | Sí | Sí | No |
ASP.NET Core Runtime | No | No | Sí |
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.
- Descargue e instale Visual Studio Code.
- Descargue e instale el SDK de .NET.
- 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 | Sí | No | No |
.NET Desktop Runtime | Sí | Sí | No |
ASP.NET Core Runtime | No | No | Sí |
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.
- 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 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.
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.
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.
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 | Sí | No | No |
.NET Desktop Runtime | Sí | Sí | No |
ASP.NET Core Runtime | No | No | Sí |
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 | Sí | Sí | No |
8 | x64 | Sí | Sí | No |
7 | Arm64 | Sí | Sí | No |
7 | x64 | Sí | Sí | No |
6 | Arm64 | Sí | Sí | No |
6 | x64 | Sí | Sí | No |
5 | Arm64 | Sí | Sí | Sí |
5 | x64 | No | Sí | Sí |
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.
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.
Pasos siguientes
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de