L’application .NET Core ne peut pas démarrer dans IIS en raison de ErrorCode = ‘0x80004005: 80008083

J’ai une application .NET Core. Il fonctionne localement avec VS2017 et Kestrel. Il fonctionne localement sous IIS. Cependant, sur le serveur, il ne parvient pas à démarrer avec un message 502.5 - Process Failure .

Dans les journaux des événements, je reçois plus de détails:

L’application ‘…’ avec la racine physique ‘C: … \ my-app-folder \’ n’a pas pu démarrer le processus avec la ligne de commande ‘”dotnet”. \ MyApp.dll’, ErrorCode = ‘0x80004005: 80008083.

Les versions précédentes de l’application fonctionnent correctement sur le même serveur, la seule différence étant qu’elles ont été publiées avec VS2017RC (2 et 3) et qu’il s’agit de la première version avec VS2017 entièrement publiée.

Que signifie ErrorCode = '0x80004005 : 80008083. ?

Comment je le répare?

Comme VS2017 RC est livré avec la nouvelle version de .NET Core SDK ( .NET Core 1.0.4 SDK 1.0.1 ), vous devez également mettre à jour le framework sur le serveur.

Code d’erreur: 0x80004005 signifie un fichier manquant ou 0x80004005 .

Le sous-code: 80008083 semble être un conflit de version.

Cette erreur signifie qu’une autre version de dotnet doit être installée sur le serveur.

Pour l’instant, il existe un moyen simple de voir quelle est l’erreur réelle. Ouvrez la section Console du service App, puis essayez d’exécuter l’application dotnet. De là, nous pouvons obtenir le message d’erreur complet et les informations de trace: entrer la description de l'image ici

Une solution possible pour moi est que j’ai ajouté ceci à mon profil de publication dans Visual Studio:

 False 

Je crois que cela va faire en sorte que l’hôte ajoute tous les fichiers requirejs pour exécuter l’application à partir de votre invironment local au lieu de les ignorer et d’utiliser les fichiers standard du serveur.

J’avais publié une nouvelle application Web .NET Core 2.0 sur Azure App Service et rencontré cette erreur.

Frapper le site:

Erreur HTTP 502.5 – Échec du processus Causes courantes de ce problème: Le processus d’application n’a pas pu démarrer Le processus d’application a démarré, mais s’est arrêté Le processus d’application a démarré mais n’a pas réussi à écouter sur le port configuré

Débogage: Utilisation d’Azure Application Insights et de l’App Service – Outils avancés (KUDU) examinant les outils – Console de débogage – Navigation dans le dossier LogFiles eventlog.xml comportait une ligne de journal:

L’application ‘MACHINE / WEBROOT / APPHOST / xxxx’ avec la racine physique ‘D: \ home \ site \ wwwroot \’ n’a pas pu démarrer le processus avec la ligne de commande ‘dotnet. \ WebApp.dll’, ErrorCode = ‘0x80004005: 8000808c.

  1000 1 0  Application 'MACHINE/WEBROOT/APPHOST/xxxx' with physical root 'D:\home\site\wwwroot\' failed to start process with commandline 'dotnet .\WebApp.dll', ErrorCode = '0x80004005 : 8000808c.   

Solution

Cette réponse: La suppression du dossier wwwroot dans azuree et la publication à nouveau à partir de VS ont fonctionné pour moi malgré l’absence d’une application Core 1.1 héritée au départ .

Lancez Azure Console dans l’application et supprimez le contenu du dossier wwwroot, puis redéployez-le.

RMDIR wwwroot /S /Q

Tests supplémentaires Après cela, cela a été très utile pour les tests et cela fonctionne quand ils sont suivis de la même manière, puis déviez, mais vous devez trouver des erreurs. https://docs.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azuree-webapp-using-vs

J’ai fait face au même problème et je n’avais que dotnet cor 2 installé sur mon serveur, donc en installant ce lien, vous pouvez exécuter votre code dans d’autres versions de dot net core. n’oubliez pas de redémarrer IIS. https://download.microsoft.com/download/6/A/2/6A21C555-B042-46EA-BBB4-368AACCB3E25/DotNetCore.1.0.8_1.1.5-WindowsHosting.exe

Pour moi, je devais m’assurer que le dernier module d’hébergement .Net Core et Windows est installé, tous disponibles sur https://www.microsoft.com/net/download/windows (les dernières versions devraient toujours être disponibles ici). ).

Plus précisément, j’ai installé:

Le runtime complet de .Net Framework 4.7.1 pourrait ne pas être nécessaire si vous n’hébergez réellement que des applications .Net Core sur votre serveur, mais je l’ai installé pour être sûr.

Pour le core .net 2.0

  1. Vérifiez que le DotNetCore.2.0.Y-WindowsHosting approprié est installé. Si votre projet est 2.1, installez 2.1. en conséquence)
  2. Un redémarrage de l’ordinateur est “requirejs” après l’installation de Windows.
  3. Ouvrir PowerShell; cd répertoire_installation; dotnet abcd.dll Ceci est un contrôle préalable que vous pouvez vérifier après l’installation de WindowsHosting …