Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describen algunas razones comunes y posibles soluciones para errores de inicio de aplicaciones. Se relaciona con las aplicaciones dependientes del marco, que se basan en una instalación de .NET en la máquina.
Si ya sabe qué versión de .NET necesita, puede descargarla desde descargas de .NET.
No se encontró la instalación de .NET
Si no se encuentra una instalación de .NET, la aplicación no puede iniciarse con un mensaje similar al siguiente:
You must install .NET to run this application.
App: C:\repos\myapp\myapp.exe
Architecture: x64
Host version: 7.0.0
.NET location: Not found
You must install .NET to run this application.
App: /home/user/repos/myapp/myapp
Architecture: x64
Host version: 7.0.0
.NET location: Not found
Esto puede deberse a una combinación de paquetes.
Las instalaciones globales se registran en /etc/dotnet/install_location. En algunos sistemas, los archivos específicos de la arquitectura también están presentes, como /etc/dotnet/install_location_arm64.
You must install .NET to run this application.
App: /home/user/repos/myapp/myapp
Architecture: x64
Host version: 7.0.0
.NET location: Not found
Las instalaciones globales se registran en /etc/dotnet/install_location. En algunos sistemas, los archivos específicos de la arquitectura también están presentes, como /etc/dotnet/install_location_arm64.
El mensaje de error incluye un vínculo para descargar .NET. Puede seguir ese vínculo para acceder a la página de descarga adecuada. También puede elegir la versión de .NET (especificada por Host version) en las descargas de .NET.
En la página de descarga de la versión de .NET necesaria, busque la descarga de .NET Runtime que coincida con la arquitectura que aparece en el mensaje de error. Después, puede instalarlo descargando y ejecutando un instalador.
.NET está disponible a través de varios administradores de paquetes de Linux. Para obtener más información, consulte Instalación de .NET en Linux. (Las versiones preliminares de .NET no suelen estar disponibles a través de administradores de paquetes).
Debe instalar el paquete de runtime de .NET para la versión correspondiente, como dotnet-runtime-10.0.
Como alternativa, en la página de descarga de la versión de .NET necesaria, puede descargar archivos binarios para la arquitectura especificada.
No se encontró el marco requerido
Si no se encuentra un marco de trabajo necesario o una versión compatible, la aplicación no se puede iniciar con un mensaje similar al siguiente:
You must install or update .NET to run this application.
App: C:\repos\myapp\myapp.exe
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '5.0.15' (x64)
.NET location: C:\Program Files\dotnet\
The following frameworks were found:
6.0.2 at [c:\Program Files\dotnet\shared\Microsoft.NETCore.App]
You must install or update .NET to run this application.
App: /home/user/repos/myapp/myapp
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '5.0.15' (x64)
.NET location: /usr/share/dotnet/
The following frameworks were found:
6.0.2 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]
You must install or update .NET to run this application.
App: /home/user/repos/myapp/myapp
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '5.0.15' (x64)
.NET location: /usr/local/share/dotnet/
The following frameworks were found:
6.0.2 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
El error indica el nombre, la versión y la arquitectura del marco que faltan y la ubicación en la que se espera que se instale. Para ejecutar la aplicación, puede instalar un entorno de ejecución compatible en la ubicación ".NET" especificada. Si la aplicación está destinada a una versión anterior a la que tiene instalada y desea ejecutarla con una versión más reciente, también puede configurar el comportamiento de avance de versión de la aplicación.
Instalación de un entorno de ejecución compatible
El mensaje de error incluye un vínculo para descargar el marco que falta. Puede seguir este vínculo para acceder a la página de descarga adecuada.
Como alternativa, puede descargar un entorno de ejecución desde la página de descargas de .NET . Hay varias descargas del entorno de ejecución de .NET.
En la tabla siguiente se muestran los marcos que contiene cada runtime.
| Descarga del entorno de ejecución | Marcos incluidos |
|---|---|
| tiempo de ejecución de ASP.NET Core | Microsoft.NETCore.App Microsoft.AspNetCore.App |
| .NET Desktop Runtime | Microsoft.NETCore.App Microsoft.WindowsDesktop.App |
| Entorno de ejecución de .NET | Microsoft.NETCore.App |
| Descarga en tiempo de ejecución | Marcos incluidos |
|---|---|
| tiempo de ejecución de ASP.NET Core | Microsoft.NETCore.App Microsoft.AspNetCore.App |
| Entorno de ejecución de .NET | Microsoft.NETCore.App |
Seleccione una descarga en tiempo de ejecución que contenga el marco que falta y, a continuación, instálela.
En la página de descarga de la versión de .NET necesaria, busque la descarga en tiempo de ejecución que coincida con la arquitectura que aparece en el mensaje de error. Es probable que quiera descargar un instalador.
.NET está disponible a través de varios administradores de paquetes de Linux. Consulte Instalación de .NET en Linux para obtener más información. (Las versiones preliminares de .NET no suelen estar disponibles a través de administradores de paquetes).
Debe instalar el paquete del entorno de ejecución de .NET de la versión adecuada, como dotnet-runtime-10.0 o aspnetcore-runtime-10.0.
Como alternativa, en la página de descarga de la versión de .NET necesaria, puede descargar archivos binarios para la arquitectura especificada.
En la mayoría de los casos, cuando la aplicación que no se pudo iniciar está usando esta instalación, la ubicación ".NET" en el mensaje de error apunta a:
%ProgramFiles%\dotnet
/usr/share/dotnet/
/usr/local/share/dotnet/
Comprobación de la variable de entorno DOTNET_ROOT
La DOTNET_ROOT variable de entorno indica a la aplicación dónde encontrar el dotnet controlador y los marcos que necesita. Si esta variable se establece incorrectamente o apunta a una ubicación que no contiene una instalación de .NET válida, la aplicación no se puede iniciar incluso cuando se instala .NET en otro lugar del equipo.
Problemas comunes que debe buscar:
-
La variable apunta a una ubicación incorrecta:
DOTNET_ROOTpuede establecerse en una ruta de acceso desde una instalación de .NET anterior, un entorno de CI o un script que ya no refleje la ubicación de instalación actual. -
La variable se establece cuando no debe ser : si
DOTNET_ROOTse establece en el entorno, .NET omite completamente la ubicación de instalación predeterminada. Quite o actualice la variable si .NET se ha movido. -
Error de coincidencia de arquitectura: use la variante específica de la arquitectura al ejecutar aplicaciones de 32 bits en una máquina de 64 bits. Por ejemplo, establezca
DOTNET_ROOT_X86para que apunte a la instalación de 32 bits. Para obtener más información, consulteDOTNET_ROOTVariable de entorno.
Para diagnosticar, imprima el valor actual de la variable y confirme que apunta a un directorio que contiene una instalación de .NET válida:
echo $env:DOTNET_ROOT
echo $DOTNET_ROOT
Si se establece la variable, compruebe que la ruta de acceso existe y que contiene la versión de .NET esperada. Si no se establece la variable, .NET recurre a la ubicación de instalación predeterminada de su plataforma.
Comprobación de la ubicación de instalación
En Windows, .NET busca solo una ubicación, la primera ubicación donde se encuentra una instalación de .NET. Si se produce un error en la búsqueda del marco, compruebe que .NET está instalado en la ubicación esperada.
Al ejecutar la aplicación a través de dotnet, se buscan marcos de trabajo en subdirectorios relativos a dotnet. Al ejecutar la aplicación a través de su ejecutable (apphost), .NET busca en las siguientes ubicaciones en orden y usa la primera donde se encuentra una instalación:
- Subdirectorios relativos a la
DOTNET_ROOTvariable de entorno (si se establece). - Ubicación de instalación registrada globalmente (si se establece) en
HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\<arch>\InstallLocation. - Ubicación de instalación predeterminada:
%ProgramFiles%\dotnet(o%ProgramFiles(x86)%\dotnetpara procesos de 32 bits en Windows de 64 bits).
Si .NET está instalado en una ubicación no predeterminada, asegúrese DOTNET_ROOT de que apunte a ella para que la aplicación pueda encontrar la instalación correcta.
Ejecute el script dotnet-install
Use el script dotnet-install cuando necesite una instalación rápida y no administrativa, como en escenarios de CI o entornos temporales.
El script instala .NET en una carpeta que elija. No se comporta como el instalador del sistema operativo estándar y crea una instalación privada.
Para ejecutar una aplicación desde esa instalación privada, establezca la DOTNET_ROOT variable de entorno (o la variante específica de la arquitectura) al iniciar a través de un archivo ejecutable (conocido como apphost) o inicie a través del host coincidente dotnet desde la misma ubicación de instalación.
Para conocer los pasos de instalación de Windows, consulte Instalación con PowerShell.
Para conocer los pasos de instalación en Linux, consulte Instalación de .NET con un script.
Para conocer los pasos de instalación en macOS, consulte Instalación de .NET con un script.
Para obtener información sobre las opciones del script y detalles sobre su comportamiento, consulte la referencia del script dotnet-install.
Descargar archivos binarios
Puede descargar un archivo binario de .NET desde la página de descarga. En la columna Archivos binarios de la descarga en tiempo de ejecución, descargue la versión binaria que coincida con la arquitectura necesaria. Extraiga el archivo descargado en la ubicación ".NET" especificada en el mensaje de error.
Para obtener más información sobre la instalación manual, consulte Instalación de .NET en Windows.
Para obtener más información sobre la instalación manual, consulte Instalación de .NET en Linux.
Para obtener más información sobre la instalación manual, consulte Instalación de .NET en macOS.
Configuración del comportamiento de puesta al día
Si ya tiene instalada una versión superior del marco necesario, puede ejecutar la aplicación en esa versión superior configurando su comportamiento de puesta al día.
Al ejecutar la aplicación, puede especificar la --roll-forward opción de línea de comandos o establecer la DOTNET_ROLL_FORWARD variable de entorno.
De forma predeterminada, una aplicación requiere un marco que coincida con la misma versión principal a la que se dirige la aplicación, pero puede usar una versión secundaria o de revisión superior. Sin embargo, los desarrolladores de aplicaciones pueden haber especificado un comportamiento diferente. Para obtener más información, consulte Avance de aplicaciones dependientes del framework.
Nota:
Dado que el uso de esta opción permite que la aplicación se ejecute en una versión de marco diferente a la de la que se diseñó, puede dar lugar a un comportamiento no deseado debido a cambios entre versiones de un marco.