it-swarm.com.de

Azure WebApp Asp.NET Core 2-Fehler: Beim Starten der Anwendung ist ein Fehler aufgetreten

Ich habe asp.net core 1.1 auf asp.net core 2 aktualisiert. Es läuft gut auf dem lokalen Server, aber wenn ich versuche, es in einer von Azure gehosteten Web-App bereitzustellen, habe ich den Fehler erhalten:

Beim Starten der Anwendung ist ein Fehler aufgetreten. .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

Irgendwelche Ideen?

8
Arvind Sisara

Ich habe das Problem selbst gelöst und hoffe, dass diese Lösung jemandem helfen kann.

Erstens habe ich den Protokollordner auf dem Azure-Server festgelegt und finde ein Problem mit mehr Details ... Ich habe einige Datenbankänderungen in SQL vergessen. Aktualisieren Sie die Datenbankänderungen und führen Sie sie aus. 

1
Arvind Sisara

Fügen Sie in den App-Einstellungen Ihrer App ASPNETCORE_DETAILEDERRORS = true hinzu, starten Sie sie neu und sehen Sie beim nächsten Laden der URL den detaillierten Fehler. Das wird Ihnen helfen, das Problem zu beheben.

In meinem Fall bestand der Fehler beispielsweise darin, dass die verwaltete Identität meiner API-App nicht für den Zugriff auf das Schlüsseldepot konfiguriert war, um das Speicherkonto und die Cosmos-Datenbankschlüssel abzurufen. Ich habe beim Start die konfigurierten Speicher- und Cosmos-DB-Objekte eingefügt, sodass der Moment fehlschlug, als ich meine App startete.

18
Suneet Nangia

Sie können weitere Details erhalten, indem Sie ASPNETCORE_DETAILEDERRORS = true Aktivieren:

wechseln Sie zu Ihrem Azure-Dashboard -> Ihr App-Dienst

In Ihren Anwendungseinstellungen (in der linken Seitenleiste) -> scrollen Sie nach unten zu Konfiguration. Dies ist ein Schlüssel-Wert-Paar von Einstellungen. Geben Sie die obigen Werte ein. Starten Sie Ihre Web-App neu.

0
Melchia

Habe meine Tipps von https://scottsauber.com/2017/04/10/wie-zu-und-beseitigungsfehler-aneror-besucht-bei-die-anwendung-der-anwendung-in-asp-net-core-on- iis/

  1. Öffnen Sie Ihre web.config
  2. Ändern Sie stdoutLogEnabled = true
  3. Erstellen Sie einen Protokollordner Leider erstellt AspNetCoreModule den Ordner nicht standardmäßig für Sie Wenn Sie vergessen, den Protokollordner zu erstellen, wird in der Ereignisanzeige ein Fehler mit der folgenden Meldung protokolliert: Warnung: Konnte nicht erstellt werden stdoutLogFile \?\YourPath\logs\stdout_timestamp.log, ErrorCode = -2147024893 ..__ Der Teil "stdout" des Werts ".\logs\stdout" verweist tatsächlich auf den Dateinamen und nicht auf den Ordner. Was etwas verwirrend ist . Führen Sie Ihre Anfrage erneut aus und öffnen Sie die Protokolldatei\logs\stdout _ *

Hinweis - Sie sollten diese Option deaktivieren, nachdem Sie die Fehlerbehebung durchgeführt haben, da dies eine Leistungseinschränkung darstellt.

Das aspNetCore-Element der web.config sollte also so aussehen

0
NoloMokgosi

Aktivieren Sie DetailedErrorsKey in Program.cs so können Sie herausfinden, was passiert.

WebHost.CreateDefaultBuilder(args)
    .UseSetting(WebHostDefaults.DetailedErrorsKey, "true")
0

Ich konnte meine Ausnahmen für diesen Fehler feststellen, indem ich die App von der veröffentlichten ausführbaren Datei aus startete.

Um dies lokal zu versuchen, können Sie mit der rechten Maustaste auf das Webprojekt klicken, auf Veröffentlichen klicken und es dann in einem Ordner veröffentlichen. In dem Ordner mit dem gleichen Namen wie das Projekt sollte sich eine ausführbare Datei befinden. Führen Sie das aus und es sollte Ausnahmen in der Konsole anzeigen.

0
farlee2121

Führen Sie die Anwendung aus, indem Sie den Befehl ausführen

dotnet myapplicationname.dll

Dies löst Startfehler aus und kann Ihnen helfen, den Fehler einzugrenzen.

0
Sunil Johnson