Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit certaines raisons courantes et les solutions possibles pour les échecs de lancement d’application. Il s’agit d’applications dépendantes du framework, qui s’appuient sur une installation .NET sur votre ordinateur.
Si vous connaissez déjà la version de .NET dont vous avez besoin, vous pouvez la télécharger à partir des téléchargements .NET.
Installation de .NET introuvable
Si une installation .NET est introuvable, l’application ne parvient pas à démarrer avec un message similaire à ce qui suit :
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
Cela peut être dû à une combinaison de packages.
Les installations globales sont inscrites à l’emplacement suivant : /etc/dotnet/install_location. Pour plus d’informations, consultez les emplacements d’installation.
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
Les installations globales sont inscrites à l’emplacement suivant : /etc/dotnet/install_location. Pour plus d’informations, consultez les emplacements d’installation.
Le message d’erreur inclut un lien pour télécharger .NET. Vous pouvez suivre ce lien pour accéder à la page de téléchargement appropriée. Vous pouvez également choisir la version .NET (spécifiée par Host version) à partir des téléchargements .NET.
Dans la page de téléchargement de la version .NET requise, recherchez le téléchargement du runtime .NET correspondant à l’architecture répertoriée dans le message d’erreur. Vous pouvez ensuite l’installer en téléchargeant et en exécutant un programme d’installation.
.NET est disponible via différents gestionnaires de packages Linux. Pour plus d’informations, consultez Installer .NET sur Linux. (Les versions préliminaires de .NET ne sont généralement pas disponibles via les gestionnaires de package.)
Vous devez installer le package .NET Runtime pour la version appropriée, par exemple dotnet-runtime6.
Vous pouvez également télécharger des fichiers binaires pour la version .NET requise sur la page de téléchargement pour l’architecture spécifiée.
Infrastructure requise introuvable
Si une version requise ou compatible n’est pas trouvée, l’application ne parvient pas à se lancer avec un message similaire à ce qui suit :
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]
L’erreur indique le nom, la version et l’architecture de l’infrastructure manquante et l’emplacement auquel il est censé être installé. Pour exécuter l’application, vous pouvez installer un runtime compatible à l’emplacement .NET spécifié. Si l’application cible une version inférieure à celle que vous avez installée et que vous souhaitez l’exécuter sur une version ultérieure, vous pouvez également configurer le comportement de restauration pour l’application.
Installer un runtime compatible
Le message d’erreur inclut un lien pour télécharger l’infrastructure manquante. Vous pouvez suivre ce lien pour accéder à la page de téléchargement appropriée.
Vous pouvez également télécharger un runtime à partir de la page de téléchargements .NET . Il existe plusieurs téléchargements du runtime .NET.
Le tableau suivant présente les frameworks que chaque runtime contient.
| Téléchargement du runtime | Frameworks inclus |
|---|---|
| ASP.NET Core Runtime | Microsoft.NETCore.App Microsoft.AspNetCore.App |
| Runtime .NET Desktop | Microsoft.NETCore.App Microsoft.WindowsDesktop.App |
| Runtime .NET | Microsoft.NETCore.App |
| Téléchargement du runtime | Frameworks inclus |
|---|---|
| ASP.NET Core Runtime | Microsoft.NETCore.App Microsoft.AspNetCore.App |
| Runtime .NET | Microsoft.NETCore.App |
Sélectionnez un téléchargement d’exécution qui contient l’infrastructure manquante, puis installez-le.
Dans la page de téléchargement de la version .NET requise, recherchez le téléchargement du runtime correspondant à l’architecture répertoriée dans le message d’erreur. Vous souhaiterez probablement télécharger un programme d’installation.
.NET est disponible via différents gestionnaires de packages Linux. Pour plus d’informations , consultez Installer .NET sur Linux . (Les versions préliminaires de .NET ne sont généralement pas disponibles via les gestionnaires de package.)
Vous devez installer le package runtime .NET pour la version appropriée, comme dotnet-runtime6 ou dotnet-aspnet6.
Vous pouvez également télécharger des fichiers binaires pour la version .NET requise sur la page de téléchargement pour l’architecture spécifiée.
Dans la plupart des cas, lorsque l’application qui n’a pas pu être lancée utilise une telle installation, l’emplacement .NET » dans le message d’erreur pointe vers :
%ProgramFiles%\dotnet
/usr/share/dotnet/
/usr/local/share/dotnet/
Autres options
Il existe d’autres options d’installation et de solution de contournement à prendre en compte.
Exécuter le script dotnet-install
Téléchargez le script dotnet-install pour votre système d’exploitation. Exécutez le script avec des options en fonction des informations contenues dans le message d’erreur. La page de référence du script dotnet-install affiche toutes les options disponibles.
Lancez PowerShell et exécutez :
dotnet-install.ps1 -Architecture <architecture> -InstallDir <directory> -Runtime <runtime> -Version <version>
Par exemple, le message d’erreur de la section précédente correspond à :
dotnet-install.ps1 -Architecture x64 -InstallDir "C:\Program Files\dotnet\" -Runtime dotnet -Version 5.0.15
Si vous rencontrez une erreur indiquant que les scripts en cours d’exécution sont désactivés, vous devrez peut-être définir la stratégie d’exécution pour autoriser l’exécution du script :
Set-ExecutionPolicy Bypass -Scope Process
Pour plus d’informations sur l’installation à l’aide du script, consultez Installer avec l’automatisation PowerShell.
./dotnet-install.sh --architecture <architecture> --install-dir <directory> --runtime <runtime> --version <version>
Par exemple, le message d’erreur de la section précédente correspond à :
./dotnet-install.sh --architecture x64 --install-dir /usr/share/dotnet/ --runtime dotnet --version 5.0.15
Pour plus d’informations sur l’installation à l’aide du script, consultez Installation de script.
./dotnet-install.sh --architecture <architecture> --install-dir <directory> --runtime <runtime> --version <version>
Par exemple, le message d’erreur de la section précédente correspond à :
./dotnet-install.sh --architecture x64 --install-dir /usr/local/share/dotnet/ --runtime dotnet --version 5.0.15
Pour plus d’informations sur l’installation à l’aide du script, consultez Installer .NET avec un script.
Télécharger des fichiers binaires
Vous pouvez télécharger une archive binaire de .NET à partir de la page de téléchargement. À partir de la colonne Binaires du téléchargement du runtime, téléchargez la version binaire correspondant à l’architecture requise. Extrayez l’archive téléchargée à l’emplacement .NET spécifié dans le message d’erreur.
Pour plus d’informations sur l’installation manuelle, consultez Installer .NET sur Windows
Pour plus d’informations sur l’installation manuelle, consultez Installer .NET sur Linux
Pour plus d’informations sur l’installation manuelle, consultez Installer .NET sur macOS
Configurer le comportement de restauration
Si vous disposez déjà d’une version supérieure de l’infrastructure requise, vous pouvez exécuter l’application sur cette version ultérieure en configurant son comportement de restauration.
Lors de l’exécution de l’application, vous pouvez spécifier l’option--roll-forward de ligne de commande ou définir la variable d’environnementDOTNET_ROLL_FORWARD.
Par défaut, une application nécessite une infrastructure qui correspond à la même version majeure que celle cible par l’application, mais peut utiliser une version mineure ou corrective supérieure. Toutefois, les développeurs d’applications peuvent avoir spécifié un comportement différent. Pour plus d’informations, consultez La restauration des applications dépendantes du framework.
Note
Étant donné que l’utilisation de cette option permet à l’application d’exécuter sur une version d’infrastructure différente de celle pour laquelle elle a été conçue, cela peut entraîner un comportement inattendu en raison de modifications entre les versions d’une infrastructure.
Modifications majeures
Recherche à plusieurs niveaux désactivée pour .NET 7 et versions ultérieures
Sur Windows, avant .NET 7, l’application peut rechercher des frameworks dans plusieurs emplacements d’installation.
Sous-répertoires relatifs à :
-
dotnetexécutable lors de l’exécution de l’application viadotnet. -
DOTNET_ROOTvariable d’environnement (si définie) lors de l’exécution de l’application via son exécutable (apphost).
-
Emplacement d’installation globalement inscrit (si défini) dans
HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\<arch>\InstallLocation.Emplacement d’installation par défaut de
%ProgramFiles%\dotnet(ou%ProgramFiles(x86)%\dotnetpour les processus 32 bits sur Windows 64 bits).
Ce comportement de recherche à plusieurs niveaux a été activé par défaut, mais peut être désactivé en définissant la variable DOTNET_MULTILEVEL_LOOKUP=0d’environnement.
Pour les applications ciblant .NET 7 et versions ultérieures, la recherche à plusieurs niveaux est complètement désactivée et un seul emplacement ( le premier emplacement où une installation .NET est trouvée) est recherché. Lorsqu’une application est exécutée dotnet, les frameworks sont uniquement recherchés dans les sous-répertoires par rapport à dotnet. Lorsqu’une application est exécutée via son exécutable (apphost), les frameworks sont uniquement recherchés dans les premiers emplacements répertoriés précédemment où se trouve .NET.
Pour plus d’informations, consultez La recherche à plusieurs niveaux est désactivée.