web-dev-qa-db-fra.com

Erreur Azure WebApp Asp.NET Core 2: une erreur s'est produite lors du démarrage de l'application

J'ai mis à niveau asp.net core 1.1 en asp.net core 2. Il fonctionne correctement sur le serveur local, mais lorsque j'essaie de le déployer sur une application Web hébergée sur Azure, j'ai reçu l'erreur suivante:

Une erreur s'est produite lors du démarrage de l'application. .NET Core

4.6.00001.0 X86 v4.0.0.0 | Microsoft.AspNetCore.Hosting version 2.0.0-rtm-26452 | Microsoft Windows 6.2.9200

 enter image description here

Des idées?

8
Arvind Sisara

J'ai réussi à résoudre le problème moi-même et j'espère que cette solution pourra aider quelqu'un.

Tout d'abord, j'ai défini le dossier de journalisation sur le serveur Azure et trouvé un problème avec plus de détails . J'ai oublié certaines modifications de la base de données dans SQL.Update et je l'exécute sans problème. 

1
Arvind Sisara

Veuillez ajouter ASPNETCORE_DETAILEDERRORS = true dans les paramètres d'application de votre application, redémarrez-le et consultez l'erreur détaillée lors de la prochaine chargement de l'URL. Cela vous aidera à le réparer.

Par exemple, dans mon cas, l'erreur était que je n'avais pas l'identité gérée de mon application API configurée pour accéder au coffre-fort de clés afin d'obtenir le compte de stockage et les clés de base de données Cosmos. J'ai utilisé startup pour injecter le stockage configuré et les objets de base de données cosmos, ce qui a entraîné l'échec au moment où je démarrais mon application.

18
Suneet Nangia

Vous avez mes conseils de https://scottsauber.com/2017/04/10/how-to-troubleshoot-an-error-occowed-while-starting-the-application-in-asp-net-core-on- iis/

  1. Ouvrez votre web.config
  2. Changer stdoutLogEnabled = true
  3. Créer un dossier de journaux Malheureusement, l'AspNetCoreModule ne crée pas le dossier par défaut Si vous oubliez de créer le dossier de journaux, une erreur sera consignée dans l'observateur d'événements: Avertissement: Impossible de créer stdoutLogFile \?\YourPath\logs\stdout_timestamp.log, ErrorCode = -2147024893 . La partie «stdout» de la valeur «.\logs\stdout» fait en réalité référence au nom de fichier, pas au dossier. Ce qui est un peu déroutant . Exécutez à nouveau votre demande, puis ouvrez le fichier\logs\stdout _ *. Log

Remarque - vous voudrez désactiver cette option une fois le dépannage terminé, car cela nuit à la performance.

Ainsi, l’élément aspNetCore de votre web.config devrait ressembler à ceci:

0
NoloMokgosi