Problembehandlung bei ASP.NET Core in Azure App Service und IISTroubleshoot ASP.NET Core on Azure App Service and IIS

Von Justin KotalikBy Justin Kotalik

Dieser Artikel enthält Informationen über häufige Fehler beim Starten von Apps und Anweisungen zur Fehlerdiagnose bei der Bereitstellung einer App für den Azure App Service oder für IIS:This article provides information on common app startup errors and instructions on how to diagnose errors when an app is deployed to Azure App Service or IIS:

App-StartfehlerApp startup errors
Erläutert allgemeine HTTP-Statuscodeszenarien.Explains common startup HTTP status code scenarios.

Problembehandlung in Azure App ServiceTroubleshoot on Azure App Service
Bietet Ratschläge zur Problembehandlung für Apps, die in Azure App Service bereitgestellt werden.Provides troubleshooting advice for apps deployed to Azure App Service.

Problembehandlung bei den Internetinformationsdiensten (IIS)Troubleshoot on IIS
Bietet Ratschläge zur Problembehandlung für Apps, die in IIS bereitgestellt oder lokal unter IIS Express ausgeführt werden.Provides troubleshooting advice for apps deployed to IIS or running on IIS Express locally. Die Anleitung gilt sowohl für Windows Server- als auch für Windows-Desktopbereitstellungen.The guidance applies to both Windows Server and Windows desktop deployments.

Bereinigen der PaketcachesClear package caches
Erläutert die zu erledigenden Aktionen, wenn inkohärente Pakete eine App beim Durchführen größerer Upgrades oder beim Ändern von Paketversionen beschädigen.Explains what to do when incoherent packages break an app when performing major upgrades or changing package versions.

Zusätzliche RessourcenAdditional resources
Listet weitere Themen zur Problembehandlung auf.Lists additional troubleshooting topics.

App-StartfehlerApp startup errors

In Visual Studio entspricht ein ASP.NET Core-Projekt standardmäßig dem IIS Express-Hosting während des Debuggens.In Visual Studio, an ASP.NET Core project defaults to IIS Express hosting during debugging. Ein 502.5: Prozessfehler oder ein 500.30: Startfehler, der beim lokalen Debuggen auftritt, kann mithilfe der Hinweise in diesem Thema diagnostiziert werden.A 502.5 - Process Failure or a 500.30 - Start Failure that occurs when debugging locally can be diagnosed using the advice in this topic.

403.14 Unzulässig403.14 Forbidden

Die App startet nicht.The app fails to start. Der folgende Fehler wird protokolliert:The following error is logged:

The Web server is configured to not list the contents of this directory.

Der Fehler wird in der Regel durch eine fehlerhafte Bereitstellung auf dem Hostsystem verursacht, wozu eines der folgenden Szenarien gehört:The error is usually caused by a broken deployment on the hosting system, which includes any of the following scenarios:

  • Die App wird im falschen Ordner auf dem Hostsystem bereitgestellt.The app is deployed to the wrong folder on the hosting system.
  • Der Bereitstellungsprozess konnte nicht alle Dateien und Ordner der App in den Bereitstellungsordner auf dem Hostsystem verschieben.The deployment process failed to move all of the app's files and folders to the deployment folder on the hosting system.
  • Die Datei web.config fehlt bei der Bereitstellung, oder der Inhalt der Datei web.config ist falsch formatiert.The web.config file is missing from the deployment, or the web.config file contents are malformed.

Führen Sie die folgenden Schritte aus:Perform the following steps:

  1. Löschen Sie alle Dateien und Ordner aus dem Bereitstellungsordner auf dem Hostsystem.Delete all of the files and folders from the deployment folder on the hosting system.
  2. Stellen Sie den Inhalt des Ordners publish der App mit Ihrer normalen Bereitstellungsmethode wie Visual Studio, PowerShell oder über die manuelle Bereitstellung erneut auf dem Hostsystem bereit:Redeploy the contents of the app's publish folder to the hosting system using your normal method of deployment, such as Visual Studio, PowerShell, or manual deployment:
    • Bestätigen Sie, dass die Datei web.config in der Bereitstellung vorhanden und ihr Inhalt korrekt ist.Confirm that the web.config file is present in the deployment and that its contents are correct.
    • Wenn Sie in Azure App Service hosten, bestätigen Sie, dass die App im Ordner D:\home\site\wwwroot bereitgestellt wird.When hosting on Azure App Service, confirm that the app is deployed to the D:\home\site\wwwroot folder.
    • Wenn die App von IIS gehostet wird, bestätigen Sie, dass die App im physischen Pfad von IIS bereitgestellt wird, der in den grundlegenden Einstellungen des IIS-Managers angezeigt wird.When the app is hosted by IIS, confirm that the app is deployed to the IIS Physical path shown in IIS Manager's Basic Settings.
  3. Bestätigen Sie, dass alle Dateien und Ordner der App bereitgestellt werden, indem Sie die Bereitstellung auf dem Hostsystem mit dem Inhalt des Ordners publish des Projekts vergleichen.Confirm that all of the app's files and folders are deployed by comparing the deployment on the hosting system to the contents of the project's publish folder.

Weitere Informationen über das Layout einer veröffentlichten ASP.NET Core-App finden Sie unter Verzeichnisstruktur für ASP.NET Core.For more information on the layout of a published ASP.NET Core app, see Verzeichnisstruktur für ASP.NET Core. Weitere Informationen zur Datei web.config finden Sie unter ASP.NET Core-Modul.For more information on the web.config file, see ASP.NET Core-Modul.

500: Interner Serverfehler500 Internal Server Error

Die App wird gestartet, aber ein Fehler verhindert, dass der Server auf die Anforderung eingeht.The app starts, but an error prevents the server from fulfilling the request.

Dieser Fehler tritt im Code der App während des Starts oder bei der Erstellung einer Antwort auf.This error occurs within the app's code during startup or while creating a response. Die Antwort enthält möglicherweise keinen Inhalt oder die Antwort wird als 500: Interner Serverfehler im Browser angezeigt.The response may contain no content, or the response may appear as a 500 Internal Server Error in the browser. Das Anwendungsereignisprotokoll gibt normalerweise an, dass die Anwendung normal gestartet wurde.The Application Event Log usually states that the app started normally. Aus Sicht des Servers ist dies richtig.From the server's perspective, that's correct. Die App wurde gestartet, aber sie kann keine gültige Antwort generieren.The app did start, but it can't generate a valid response. Führen Sie die App in einer Eingabeaufforderung auf dem Server aus oder aktivieren Sie das stdout-Protokoll des ASP.NET Core-Moduls, um das Problem zu beheben.Run the app at a command prompt on the server or enable the ASP.NET Core Module stdout log to troubleshoot the problem.

500.0: Fehler beim Laden des prozessinternen Handlers500.0 In-Process Handler Load Failure

Der Workerprozess schlägt fehl.The worker process fails. Die App wird nicht gestartet.The app doesn't start.

Beim Laden von Komponenten des ASP.NET Core-Moduls ist ein unbekannter Fehler aufgetreten.An unknown error occurred loading ASP.NET Core Module components. Führen Sie eine der folgenden Aktionen aus:Take one of the following actions:

500.30: Prozessinterner Startupfehler500.30 In-Process Startup Failure

Der Workerprozess schlägt fehl.The worker process fails. Die App wird nicht gestartet.The app doesn't start.

Das ASP.NET Core-Modul kann den .NET Core-CLR-In-Process nicht starten.The ASP.NET Core Module attempts to start the .NET Core CLR in-process, but it fails to start. Die Ursache für einen Fehler beim Starten eines Prozesses kann in der Regel über Einträge im Anwendungsereignisprotokoll und im stdout-Protokoll des ASP.NET Core-Moduls ermittelt werden.The cause of a process startup failure can usually be determined from entries in the Application Event Log and the ASP.NET Core Module stdout log.

Häufige Fehlerbedingungen:Common failure conditions:

  • Die App ist aufgrund einer Version des freigegebenen ASP.NET Core-Frameworks falsch konfiguriert ist, die nicht vorhanden ist.The app is misconfigured due to targeting a version of the ASP.NET Core shared framework that isn't present. Überprüfen Sie, welche Versionen des freigegebenen ASP.NET Core-Frameworks auf dem Zielcomputer installiert sind.Check which versions of the ASP.NET Core shared framework are installed on the target machine.
  • Bei Verwendung von Azure Key Vault fehlen die Berechtigungen für den Schlüsseltresor.Using Azure Key Vault, lack of permissions to the Key Vault. Überprüfen Sie die Zugriffsrichtlinien im angestrebten Schlüsseltresor, um sicherzustellen, dass die richtigen Berechtigungen gewährt werden.Check the access policies in the targeted Key Vault to ensure that the correct permissions are granted.

500.31: Fehler bei der Suche nach nativen Abhängigkeiten in ANCM500.31 ANCM Failed to Find Native Dependencies

Der Workerprozess schlägt fehl.The worker process fails. Die App wird nicht gestartet.The app doesn't start.

Das ASP.NET Core-Modul kann die prozessinterne .NET Core-Runtime nicht starten.The ASP.NET Core Module attempts to start the .NET Core runtime in-process, but it fails to start. Die häufigste Ursache dieses Startfehlers ist die fehlende Installation der Laufzeiten Microsoft.NETCore.App oder Microsoft.AspNetCore.App.The most common cause of this startup failure is when the Microsoft.NETCore.App or Microsoft.AspNetCore.App runtime isn't installed. Dieser Fehler tritt auf, wenn die App für die Zielversion 3.0 von ASP.NET Core bereitgestellt wurde, die aber auf dem Computer nicht vorhanden ist.If the app is deployed to target ASP.NET Core 3.0 and that version doesn't exist on the machine, this error occurs. Es wird beispielsweise folgende Fehlermeldung angezeigt:An example error message follows:

The specified framework 'Microsoft.NETCore.App', version '3.0.0' was not found.
  - The following frameworks were found:
      2.2.1 at [C:\Program Files\dotnet\x64\shared\Microsoft.NETCore.App]
      3.0.0-preview5-27626-15 at [C:\Program Files\dotnet\x64\shared\Microsoft.NETCore.App]
      3.0.0-preview6-27713-13 at [C:\Program Files\dotnet\x64\shared\Microsoft.NETCore.App]
      3.0.0-preview6-27714-15 at [C:\Program Files\dotnet\x64\shared\Microsoft.NETCore.App]
      3.0.0-preview6-27723-08 at [C:\Program Files\dotnet\x64\shared\Microsoft.NETCore.App]

In der Fehlermeldung werden alle installierten .NET Core-Versionen aufgelistet sowie die für die App erforderliche Version.The error message lists all the installed .NET Core versions and the version requested by the app. Sie haben folgende Möglichkeiten, um diesen Fehler zu beheben:To fix this error, either:

  • Installieren Sie die entsprechende .NET Core-Version auf Ihrem Computer.Install the appropriate version of .NET Core on the machine.
  • Ändern Sie die Zielversion der App in eine .NET Core-Version, die auf Ihrem Computer vorhanden ist.Change the app to target a version of .NET Core that's present on the machine.
  • Veröffentlichen Sie die App als eine eigenständige Bereitstellung.Publish the app as a self-contained deployment.

Beim Ausführen im Entwicklungsmodus (wenn die Umgebungsvariable ASPNETCORE_ENVIRONMENT auf Development festgelegt ist) wird der jeweilige Fehler in die HTTP-Antwort geschrieben.When running in development (the ASPNETCORE_ENVIRONMENT environment variable is set to Development), the specific error is written to the HTTP response. Die Ursache für einen Fehler beim Starten eines Prozesses kann auch über das Anwendungsereignisprotokoll ermittelt werden.The cause of a process startup failure is also found in the Application Event Log.

500.32: Fehler beim Laden der DLL in ANCM500.32 ANCM Failed to Load dll

Der Workerprozess schlägt fehl.The worker process fails. Die App wird nicht gestartet.The app doesn't start.

Die häufigste Ursache für diesen Fehler ist die Veröffentlichung der App für eine nicht kompatible Prozessorarchitektur.The most common cause for this error is that the app is published for an incompatible processor architecture. Der Fehler tritt auf, wenn der Arbeitsprozess als 32-Bit-App ausgeführt wird, die App aber für eine 64-Bit-Ausführung veröffentlicht wurde.If the worker process is running as a 32-bit app and the app was published to target 64-bit, this error occurs.

Sie haben folgende Möglichkeiten, um diesen Fehler zu beheben:To fix this error, either:

500.33: Fehler beim Laden des Anforderungshandlers in ANCM500.33 ANCM Request Handler Load Failure

Der Workerprozess schlägt fehl.The worker process fails. Die App wird nicht gestartet.The app doesn't start.

Die App verweist nicht auf das Framework Microsoft.AspNetCore.App.The app didn't reference the Microsoft.AspNetCore.App framework. Das ASP.NET Core-Modul hostet nur Apps mit Microsoft.AspNetCore.App als Zielframework.Only apps targeting the Microsoft.AspNetCore.App framework can be hosted by the ASP.NET Core Module.

Vergewissern Sie sich, dass das Zielframework der App Microsoft.AspNetCore.App ist, um den Fehler zu beheben.To fix this error, confirm that the app is targeting the Microsoft.AspNetCore.App framework. Überprüfen Sie .runtimeconfig.json, um das Zielframework der App anzuzeigen.Check the .runtimeconfig.json to verify the framework targeted by the app.

500.34: Gemischte Hostingmodelle in ANCM nicht unterstützt500.34 ANCM Mixed Hosting Models Not Supported

Im selben Arbeitsprozess können nicht gleichzeitig eine In-Process- und eine Out-of-Process-App ausgeführt werden.The worker process can't run both an in-process app and an out-of-process app in the same process.

Führen Sie die Apps in separaten IIS-Anwendungspools aus, um diesen Fehler zu beheben.To fix this error, run apps in separate IIS application pools.

500.35: Mehrere In-Process-Anwendungen im selben Prozess in ANCM500.35 ANCM Multiple In-Process Applications in same Process

Der Workerprozess kann nicht mehrere prozessinterne Apps im selben Prozess ausführen.The worker process can't run multiple in-process apps in the same process.

Führen Sie die Apps in separaten IIS-Anwendungspools aus, um diesen Fehler zu beheben.To fix this error, run apps in separate IIS application pools.

500.36: Fehler beim Laden des Out-of-Process-Handlers in ANCM500.36 ANCM Out-Of-Process Handler Load Failure

Der Out-of-Process-Anforderungshandler aspnetcorev2_outofprocess.dll befindet sich nicht neben der Datei aspnetcorev2.dll.The out-of-process request handler, aspnetcorev2_outofprocess.dll, isn't next to the aspnetcorev2.dll file. Dies deutet auf eine fehlerhafte Installation des ASP.NET Core-Moduls hin.This indicates a corrupted installation of the ASP.NET Core Module.

Reparieren Sie die Installation des .NET Core-Hostingpakets (für IIS) oder von Visual Studio (für IIS Express), um diesen Fehler zu beheben.To fix this error, repair the installation of the .NET Core Hosting Bundle (for IIS) or Visual Studio (for IIS Express).

500.37: Fehler beim Starten von ANCM innerhalb des Zeitlimits für den Start500.37 ANCM Failed to Start Within Startup Time Limit

ANCM konnte nicht innerhalb des angegebenen Zeitlimits für den Start gestartet werden.ANCM failed to start within the provied startup time limit. Das Standardzeitlimit beträgt 120 Sekunden.By default, the timeout is 120 seconds.

Dieser Fehler kann beim Starten einer großen Anzahl von Apps auf dem gleichen Computer auftreten.This error can occur when starting a large number of apps on the same machine. Überprüfen Sie, ob beim Starten CPU-/Speicherauslastungsspitzen auf dem Server vorhanden sind.Check for CPU/Memory usage spikes on the server during startup. In diesem Fall sollten Sie möglicherweise den Startvorgang einiger Apps staffeln.You may need to stagger the startup process of multiple apps.

500.38 ANCM-Anwendungs-DLL nicht gefunden.500.38 ANCM Application DLL Not Found

Das ANCM konnte die Anwendungs-DLL nicht finden, die sich neben der ausführbaren Datei befinden sollte.ANCM failed to locate the application DLL, which should be next to the executable.

Dieser Fehler tritt auf, wenn eine als einzelne ausführbare Datei gepackte App mithilfe des In-Process-Hostingmodells gehostet wird.This error occurs when hosting an app packaged as a single-file executable using the in-process hosting model. Das In-Process-Modell erfordert, dass das ANCM die .NET Core-App in den vorhandenen IIS-Prozess lädt.The in-process model requires that the ANCM load the .NET Core app into the existing IIS process. Dieses Szenario wird vom Einzeldatei-Bereitstellungsmodell nicht unterstützt.This scenario isn't supported by the single-file deployment model. Verwenden Sie einen der folgenden Ansätze in der Projektdatei der App, um diesen Fehler zu korrigieren:Use one of the following approaches in the app's project file to fix this error:

  1. Deaktivieren Sie die Einzeldateiveröffentlichung, indem Sie die MSBuild-Eigenschaft PublishSingleFile auf false festlegen.Disable single-file publishing by setting the PublishSingleFile MSBuild property to false.
  2. Wechseln Sie zum Out-of-Process-Hostingmodell, indem Sie die MSBuild-Eigenschaft AspNetCoreHostingModel auf OutOfProcess festlegen.Switch to the out-of-process hosting model by setting the AspNetCoreHostingModel MSBuild property to OutOfProcess.

502.5: Prozessfehler502.5 Process Failure

Der Workerprozess schlägt fehl.The worker process fails. Die App wird nicht gestartet.The app doesn't start.

Das ASP.NET Core-Modul kann den Workerprozess nicht starten.The ASP.NET Core Module attempts to start the worker process but it fails to start. Die Ursache für einen Fehler beim Starten eines Prozesses kann in der Regel über Einträge im Anwendungsereignisprotokoll und im stdout-Protokoll des ASP.NET Core-Moduls ermittelt werden.The cause of a process startup failure can usually be determined from entries in the Application Event Log and the ASP.NET Core Module stdout log.

Eine allgemeine Fehlerbedingung ist, dass die App aufgrund einer Version des freigegebenen ASP.NET Core-Frameworks falsch konfiguriert ist, die nicht vorhanden ist.A common failure condition is the app is misconfigured due to targeting a version of the ASP.NET Core shared framework that isn't present. Überprüfen Sie, welche Versionen des freigegebenen ASP.NET Core-Frameworks auf dem Zielcomputer installiert sind.Check which versions of the ASP.NET Core shared framework are installed on the target machine. Das freigegebene Framework ist der Satz der Assemblys (DLL-Dateien), die auf dem Computer installiert werden und auf die ein Metapaket wie Microsoft.AspNetCore.App verweist.The shared framework is the set of assemblies (.dll files) that are installed on the machine and referenced by a metapackage such as Microsoft.AspNetCore.App. Der Metapaketverweis kann eine mindestens erforderliche Version angeben.The metapackage reference can specify a minimum required version. Weitere Informationen finden Sie unter The shared framework (Das freigegebene Framework).For more information, see The shared framework.

Die Fehlerseite 502.5: Prozessfehler wird zurückgegeben, wenn ein falsch konfiguriertes Hosting oder eine falsch konfigurierte App bewirkt, dass der Workerprozess fehlschlägt:The 502.5 Process Failure error page is returned when a hosting or app misconfiguration causes the worker process to fail:

Fehler beim Starten der Anwendung (ErrorCode 0x800700c1)Failed to start application (ErrorCode '0x800700c1')

EventID: 1010
Source: IIS AspNetCore Module V2
Failed to start application '/LM/W3SVC/6/ROOT/', ErrorCode '0x800700c1'.

Die App konnte nicht gestartet werden, weil die Assembly der App ( .dll) nicht geladen werden konnte.The app failed to start because the app's assembly (.dll) couldn't be loaded.

Dieser Fehler tritt bei einem Bitanzahlkonflikt zwischen der veröffentlichten App und dem w3wp/iisexpress-Prozess auf.This error occurs when there's a bitness mismatch between the published app and the w3wp/iisexpress process.

Überprüfen Sie, ob die 32-Bit-Einstellung des Anwendungspools korrekt ist:Confirm that the app pool's 32-bit setting is correct:

  1. Wählen Sie im IIS-Manager unter Anwendungspools den Anwendungspool aus.Select the app pool in IIS Manager's Application Pools.
  2. Wählen Sie im Bereich Aktionen unter Anwendungspool bearbeiten Erweiterte Einstellungen aus.Select Advanced Settings under Edit Application Pool in the Actions panel.
  3. Wählen Sie 32-Bit-Anwendungen aktivieren aus:Set Enable 32-Bit Applications:
    • Wenn Sie eine 32-Bit-(x86)-App bereitstellen, legen Sie den Wert auf True fest.If deploying a 32-bit (x86) app, set the value to True.
    • Wenn Sie eine 64-Bit-(x64)-App bereitstellen, legen Sie den Wert auf False fest.If deploying a 64-bit (x64) app, set the value to False.

Bestätigen Sie, dass es keinen Konflikt zwischen einer <Platform> MSBuild-Eigenschaft in der Projektdatei und der veröffentlichten Bitanzahl der App gibt.Confirm that there isn't a conflict between a <Platform> MSBuild property in the project file and the published bitness of the app.

VerbindungszurücksetzungConnection reset

Falls ein Fehler auftritt, nachdem die Header gesendet wurden, ist es zu spät für den Server, einen 500: Interner Serverfehler zu senden, wenn ein Fehler auftritt.If an error occurs after the headers are sent, it's too late for the server to send a 500 Internal Server Error when an error occurs. Dies ist häufig der Fall, wenn während der Serialisierung komplexer Objekte für eine Antwort ein Fehler auftritt.This often happens when an error occurs during the serialization of complex objects for a response. Diese Art von Fehler wird angezeigt, wenn ein Verbindungszurücksetzungsfehler auf dem Client auftritt.This type of error appears as a connection reset error on the client. Mithilfe der Anwendungsprotokollierung können diese Fehlertypen behoben werden.Application logging can help troubleshoot these types of errors.

StandardstarteinschränkungenDefault startup limits

Das ASP.NET Core-Modul wurde mit dem Standardwert 120 Sekunden für das startupTimeLimit konfiguriert.The ASP.NET Core Module is configured with a default startupTimeLimit of 120 seconds. Wenn der Standardwert beibehalten wird, dauert der Start einer App möglicherweise bis zu zwei Minuten. Erst danach kann das Modul einen Prozessfehler protokollieren.When left at the default value, an app may take up to two minutes to start before the module logs a process failure. Weitere Informationen zum Konfigurieren des Moduls finden Sie unter Attribute des aspNetCore-Elements.For information on configuring the module, see Attributes of the aspNetCore element.

Problembehandlung in Azure App ServiceTroubleshoot on Azure App Service

Wichtig

ASP.NET Core-Vorschauversion mit Azure App ServiceASP.NET Core preview releases with Azure App Service

ASP.NET Core-Vorschauversionen werden nicht standardmäßig in Azure App Service bereitgestellt.ASP.NET Core preview releases aren't deployed to Azure App Service by default. Weitere Informationen zum Hosten einer App, die eine ASP.NET Core-Vorschauversion verwendet, finden Sie unter Deploy ASP.NET Core preview release to Azure App Service (Bereitstellen der ASP.NET Core-Vorschauversion in Azure App Service).To host an app that uses an ASP.NET Core preview release, see Deploy ASP.NET Core preview release to Azure App Service.

Anwendungsereignisprotokoll (Azure App Service)Application Event Log (Azure App Service)

Verwenden Sie das Blatt Diagnose und Problembehandlung im Azure-Portal, um auf das Anwendungsereignisprotokoll zuzugreifen:To access the Application Event Log, use the Diagnose and solve problems blade in the Azure portal:

  1. Öffnen Sie die App im Azure-Portal unter App Services.In the Azure portal, open the app in App Services.
  2. Klicken Sie auf Diagnose und Problembehandlung.Select Diagnose and solve problems.
  3. Wählen Sie die Überschrift Diagnosetools aus.Select the Diagnostic Tools heading.
  4. Klicken Sie unter Supporttools auf die Schaltfläche Anwendungsereignisse.Under Support Tools, select the Application Events button.
  5. Überprüfen Sie den letzten vom Eintrag IIS AspNetCoreModule oder IIS AspNetCoreModule V2 in der Spalte Quelle angegebenen Fehler.Examine the latest error provided by the IIS AspNetCoreModule or IIS AspNetCoreModule V2 entry in the Source column.

Anstatt das Blatt Diagnose und Problembehandlung zu verwenden, können Sie die Anwendungsereignisprotokoll-Datei auch direkt mit Kudu untersuchen:An alternative to using the Diagnose and solve problems blade is to examine the Application Event Log file directly using Kudu:

  1. Öffnen Sie Erweiterte Tools im Bereich Entwicklungstools.Open Advanced Tools in the Development Tools area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
  2. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.
  3. Öffnen Sie den Ordner LogFiles.Open the LogFiles folder.
  4. Wählen Sie den Bleistift neben der Datei eventlog.xml aus.Select the pencil icon next to the eventlog.xml file.
  5. Untersuchen Sie das Protokoll.Examine the log. Scrollen Sie zum Ende des Protokolls, um die aktuellsten Ereignisse anzuzeigen.Scroll to the bottom of the log to see the most recent events.

Führen Sie die App in der Kudu-Konsole ausRun the app in the Kudu console

Viele Startfehler erzeugen keine nützlichen Informationen im Anwendungsereignisprotokoll.Many startup errors don't produce useful information in the Application Event Log. Sie können die App in der Kudu-Remote-Ausführungskonsole ausführen, um den Fehler zu ermitteln:You can run the app in the Kudu Remote Execution Console to discover the error:

  1. Öffnen Sie Erweiterte Tools im Bereich Entwicklungstools.Open Advanced Tools in the Development Tools area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
  2. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.

Testen einer 32-Bit-App (x86)Test a 32-bit (x86) app

Aktuelles ReleaseCurrent release

  1. cd d:\home\site\wwwroot
  2. Führen Sie die App aus:Run the app:

Die Konsolenausgabe der App, die Fehler anzeigt, wird an die Kudu-Konsole weitergeleitet.The console output from the app, showing any errors, is piped to the Kudu console.

Frameworkabhängige Bereitstellung, die in einem Vorschaurelease ausgeführt wirdFramework-dependent deployment running on a preview release

Erfordert die Installation der Runtimeerweiterung für ASP.NET Core {VERSION} (x86).Requires installing the ASP.NET Core {VERSION} (x86) Runtime site extension.

  1. cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x32 ({X.Y} ist die Runtimeversion.)cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x32 ({X.Y} is the runtime version)
  2. Führen Sie die App aus: dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dllRun the app: dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dll

Die Konsolenausgabe der App, die Fehler anzeigt, wird an die Kudu-Konsole weitergeleitet.The console output from the app, showing any errors, is piped to the Kudu console.

Testen einer 64-Bit-App (x64)Test a 64-bit (x64) app

Aktuelles ReleaseCurrent release

Die Konsolenausgabe der App, die Fehler anzeigt, wird an die Kudu-Konsole weitergeleitet.The console output from the app, showing any errors, is piped to the Kudu console.

Frameworkabhängige Bereitstellung, die in einem Vorschaurelease ausgeführt wirdFramework-dependent deployment running on a preview release

Erfordert die Installation der Runtimeerweiterung für ASP.NET Core {VERSION} (x64).Requires installing the ASP.NET Core {VERSION} (x64) Runtime site extension.

  1. cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x64 ({X.Y} ist die Runtimeversion.)cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x64 ({X.Y} is the runtime version)
  2. Führen Sie die App aus: dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dllRun the app: dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dll

Die Konsolenausgabe der App, die Fehler anzeigt, wird an die Kudu-Konsole weitergeleitet.The console output from the app, showing any errors, is piped to the Kudu console.

stdout-Protokoll im ASP.NET Core-Modul (Azure App Service)ASP.NET Core Module stdout log (Azure App Service)

Warnung

Wenn das stdout-Protokoll nicht deaktiviert wird, können App- oder Serverfehler auftreten.Failure to disable the stdout log can lead to app or server failure. Für die Protokollgröße oder die Anzahl von erstellten Protokolldateien ist kein Grenzwert festgelegt.There's no limit on log file size or the number of log files created. Verwenden Sie die stdout-Protokollierung nur für die Behandlung von App-Startproblemen.Only use stdout logging to troubleshoot app startup problems.

Verwenden Sie für die allgemeine Protokollierung in einer ASP.NET Core-App nach dem Start eine Protokollierungsbibliothek, die die Protokolldateigröße beschränkt und Protokolle rotiert.For general logging in an ASP.NET Core app after startup, use a logging library that limits log file size and rotates logs. Weitere Informationen finden Sie im Artikel zur Protokollierung von Drittanbietern.For more information, see third-party logging providers.

Das stdout-Protokoll des ASP.NET Core-Moduls zeichnet häufig nützliche Fehlermeldungen auf, die nicht im Anwendungsereignisprotokoll enthalten sind.The ASP.NET Core Module stdout log often records useful error messages not found in the Application Event Log. So aktivieren Sie stdout-Protokolle und zeigen diese an:To enable and view stdout logs:

  1. Navigieren Sie im Azure-Portal zur Web-App.In the Azure Portal, navigate to the web app.
  2. Geben Sie auf dem Blatt App Service in das Suchfeld kudu ein.In the App Service blade, enter kudu in the search box.
  3. Klicken Sie auf Erweiterte Tools > Los.Select Advanced Tools > Go.
  4. Klicken Sie auf Debugkonsole > CMD.Select Debug console > CMD.
  5. Navigieren Sie zu site/wwwroot.Navigate to site/wwwroot
  6. Klicken Sie auf das Bleistiftsymbol, um die Datei web.config zu bearbeiten.Select the pencil icon to edit the web.config file.
  7. Legen Sie im <aspNetCore />-Element stdoutLogEnabled="true" fest, und klicken Sie dann auf Speichern.In the <aspNetCore /> element, set stdoutLogEnabled="true" and select Save.

Deaktivieren Sie die stdout-Protokollierung, wenn die Problembehandlung abgeschlossen ist, indem Sie stdoutLogEnabled="false" festlegen.Disable stdout logging when troubleshooting is complete by setting stdoutLogEnabled="false".

Weitere Informationen finden Sie unter ASP.NET Core-Modul.For more information, see ASP.NET Core-Modul.

Debugprotokoll im ASP.NET Core-Modul (Azure App Service)ASP.NET Core Module debug log (Azure App Service)

Das Debugprotokoll des ASP.NET Core-Moduls ermöglicht die zusätzliche und ausführlichere Protokollierung über das ASP.NET Core-Modul.The ASP.NET Core Module debug log provides additional, deeper logging from the ASP.NET Core Module. So aktivieren Sie stdout-Protokolle und zeigen diese an:To enable and view stdout logs:

  1. Führen Sie einen der folgenden Schritte aus, um das erweiterte Diagnoseprotokoll zu aktivieren:To enable the enhanced diagnostic log, perform either of the following:
    • Befolgen Sie den Anweisungen in den erweiterten Diagnoseprotokollen, um die App für die erweiterte Diagnoseprotokollierung zu konfigurieren.Follow the instructions in Enhanced diagnostic logs to configure the app for an enhanced diagnostic logging. Stellen Sie die App erneut bereit.Redeploy the app.
    • Fügen Sie die in unter Erweiterte Diagnoseprotokollen enthaltene <handlerSettings>-Klasse für die web.config-Datei der Live-App über die Kudu-Konsole hinzu:Add the <handlerSettings> shown in Enhanced diagnostic logs to the live app's web.config file using the Kudu console:
      1. Öffnen Sie Erweiterte Tools im Bereich Entwicklungstools.Open Advanced Tools in the Development Tools area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
      2. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.
      3. Öffnen Sie die Ordner unter dem Pfad site > wwwroot.Open the folders to the path site > wwwroot. Bearbeiten Sie die Datei web.config, indem Sie auf die Bleistiftschaltfläche klicken.Edit the web.config file by selecting the pencil button. Fügen Sie den Abschnitt <handlerSettings> wie in den erweiterten Diagnoseprotokollen dargestellt hinzu.Add the <handlerSettings> section as shown in Enhanced diagnostic logs. Klicken Sie auf die Schaltfläche Speichern.Select the Save button.
  2. Öffnen Sie Erweiterte Tools im Bereich Entwicklungstools.Open Advanced Tools in the Development Tools area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
  3. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.
  4. Öffnen Sie die Ordner unter dem Pfad site > wwwroot.Open the folders to the path site > wwwroot. Wenn Sie keinen Pfad für die aspnetcore-debug.log-Datei angegeben haben, wird die Datei in der Liste aufgeführt.If you didn't supply a path for the aspnetcore-debug.log file, the file appears in the list. Wenn Sie jedoch einen Pfad angegeben haben, navigieren Sie zum Speicherort der Protokolldatei.If you supplied a path, navigate to the location of the log file.
  5. Öffnen Sie die Protokolldatei über die Bleistiftschaltfläche neben dem Dateinamen.Open the log file with the pencil button next to the file name.

Deaktivieren Sie die Debugprotokollierung, wenn die Problembehandlung abgeschlossen ist.Disable debug logging when troubleshooting is complete:

Führen Sie einen der folgenden Schritte aus, um das erweiterte Debugprotokoll zu deaktivieren:To disable the enhanced debug log, perform either of the following:

  • Entfernen Sie <handlerSettings> aus der lokalen web.config-Datei, und stellen Sie die App erneut bereit.Remove the <handlerSettings> from the web.config file locally and redeploy the app.
  • Verwenden Sie die Kudu-Konsole, um die web.config-Datei zu bearbeiten und den Abschnitt <handlerSettings> zu entfernen.Use the Kudu console to edit the web.config file and remove the <handlerSettings> section. Speichern Sie die Datei.Save the file.

Weitere Informationen finden Sie unter ASP.NET Core-Modul.For more information, see ASP.NET Core-Modul.

Warnung

Wenn das Debugprotokoll nicht deaktiviert werden kann, können App- oder Serverfehler auftreten.Failure to disable the debug log can lead to app or server failure. Es gibt keine Begrenzung für die Größe der Protokolldatei.There's no limit on log file size. Nutzen Sie die Debugprotokollierung nur für die Behandlung von App-Startproblemen.Only use debug logging to troubleshoot app startup problems.

Verwenden Sie für die allgemeine Protokollierung in einer ASP.NET Core-App nach dem Start eine Protokollierungsbibliothek, die die Protokolldateigröße beschränkt und Protokolle rotiert.For general logging in an ASP.NET Core app after startup, use a logging library that limits log file size and rotates logs. Weitere Informationen finden Sie im Artikel zur Protokollierung von Drittanbietern.For more information, see third-party logging providers.

Langsame oder hängende App (Azure App Service)Slow or hanging app (Azure App Service)

Wenn eine App bei einer Anforderung langsam reagiert oder hängt, lesen Sie folgende Artikel:When an app responds slowly or hangs on a request, see the following articles:

ÜberwachungsblätterMonitoring blades

Überwachungsblätter bieten eine Alternative zur Problembehandlung mit den weiter oben in diesem Thema beschriebenen Methoden.Monitoring blades provide an alternative troubleshooting experience to the methods described earlier in the topic. Die Blätter können zur Diagnose von Serie 500-Fehlern verwendet werden.These blades can be used to diagnose 500-series errors.

Vergewissern Sie sich, dass ASP.NET Core-Erweiterungen installiert sind.Confirm that the ASP.NET Core Extensions are installed. Wenn die Erweiterungen nicht installiert sind, installieren Sie diese manuell:If the extensions aren't installed, install them manually:

  1. Wählen Sie im Blattabschnitt ENTWICKLUNGSTOOLS das Blatt Erweiterungen aus.In the DEVELOPMENT TOOLS blade section, select the Extensions blade.
  2. Die ASP.NET Core-Erweiterungen werden in der Liste angezeigt.The ASP.NET Core Extensions should appear in the list.
  3. Wenn die Erweiterungen nicht installiert sind, klicken Sie auf Hinzufügen.If the extensions aren't installed, select the Add button.
  4. Wählen Sie die ASP.NET Core-Erweiterungen aus der Liste.Choose the ASP.NET Core Extensions from the list.
  5. Klicken Sie auf OK, um die rechtlichen Bedingungen zu akzeptieren.Select OK to accept the legal terms.
  6. Klicken Sie auf OK auf dem Blatt Erweiterung hinzufügen.Select OK on the Add extension blade.
  7. Mit einer Popup-Informationsmeldung wird die erfolgreiche Installation der Erweiterungen angezeigt.An informational pop-up message indicates when the extensions are successfully installed.

Wenn die stdout-Protokollierung nicht aktiviert ist, gehen Sie folgendermaßen vor:If stdout logging isn't enabled, follow these steps:

  1. Wählen Sie im Azure-Portal das Blatt Erweiterte Tools im Bereich ENTWICKLUNGSTOOLS aus.In the Azure portal, select the Advanced Tools blade in the DEVELOPMENT TOOLS area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
  2. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.
  3. Öffnen Sie die Ordner unter dem Pfad site > wwwroot, und scrollen Sie nach unten, um die Datei web.config am Ende der Liste einzublenden.Open the folders to the path site > wwwroot and scroll down to reveal the web.config file at the bottom of the list.
  4. Klicken Sie auf den Bleistift neben der Datei web.config.Click the pencil icon next to the web.config file.
  5. Setzen Sie stdoutLogEnabled auf true, und ändern Sie den Pfad stdoutLogFile in: \\?\%home%\LogFiles\stdout.Set stdoutLogEnabled to true and change the stdoutLogFile path to: \\?\%home%\LogFiles\stdout.
  6. Wählen Sie Speichern aus, um die aktualisierte Datei web.config zu speichern.Select Save to save the updated web.config file.

Fahren Sie mit der Aktivierung der Diagnoseprotokollierung fort:Proceed to activate diagnostic logging:

  1. Wählen Sie im Azure-Portal das Blatt Diagnoseprotokolle aus.In the Azure portal, select the Diagnostics logs blade.
  2. Wählen Sie den Parameter On für Anwendungsprotokollierung (Dateisystem) und Detaillierte Fehlermeldungen aus.Select the On switch for Application Logging (Filesystem) and Detailed error messages. Klicken Sie auf Speichern am oberen Rand des Blatts.Select the Save button at the top of the blade.
  3. Um die Ablaufverfolgung für Anforderungsfehler, auch bekannt als Protokollierung der Anforderungsfehler-Ereignispufferung (FREB), einzuschließen, wählen Sie den Parameter On für Ablaufverfolgung für Anforderungsfehler aus.To include failed request tracing, also known as Failed Request Event Buffering (FREB) logging, select the On switch for Failed request tracing.
  4. Wählen Sie das Blatt Protokollstream aus, das direkt unter dem Blatt Diagnoseprotokolle im Portal angezeigt wird.Select the Log stream blade, which is listed immediately under the Diagnostics logs blade in the portal.
  5. Führen Sie eine Anforderung an die App aus.Make a request to the app.
  6. In den Protokollstreamdaten wird die Ursache des Fehlers angegeben.Within the log stream data, the cause of the error is indicated.

Achten Sie darauf, die stdout-Protokollierung zu deaktivieren, wenn die Problembehandlung abgeschlossen ist.Be sure to disable stdout logging when troubleshooting is complete.

So zeigen Sie die Ablaufverfolgungsprotokolle für Anforderungsfehler (FREB-Protokolle) an:To view the failed request tracing logs (FREB logs):

  1. Navigieren Sie zum Blatt Diagnose und Problembehandlung im Azure-Portal.Navigate to the Diagnose and solve problems blade in the Azure portal.
  2. Wählen Sie Failed Request Tracing Logs (Ablaufverfolgungsprotokolle für Anforderungsfehler) im Bereich SUPPORTTOOLS der Seitenleiste aus.Select Failed Request Tracing Logs from the SUPPORT TOOLS area of the sidebar.

Weitere Informationen finden Sie im Abschnitt „Failed request traces“ im Thema „Enable diagnostics logging for apps in Azure App Service“ und unter Häufig gestellte Fragen zur Anwendungsleistung von Web-Apps in Azure: Wie schalte ich die Ablaufverfolgung für Anforderungsfehler ein?See Failed request traces section of the Enable diagnostics logging for web apps in Azure App Service topic and the Application performance FAQs for Web Apps in Azure: How do I turn on failed request tracing? for more information.

Aktivieren der Diagnoseprotokollierung für Apps in Azure App Service.For more information, see Enable diagnostics logging for web apps in Azure App Service.

Warnung

Wenn das stdout-Protokoll nicht deaktiviert wird, können App- oder Serverfehler auftreten.Failure to disable the stdout log can lead to app or server failure. Für die Protokollgröße oder die Anzahl von erstellten Protokolldateien ist kein Grenzwert festgelegt.There's no limit on log file size or the number of log files created.

Verwenden Sie für die routinemäßige Protokollierung in einer ASP.NET Core-App eine Protokollierungsbibliothek, die die Protokolldateigröße beschränkt und die Protokolle rotiert.For routine logging in an ASP.NET Core app, use a logging library that limits log file size and rotates logs. Weitere Informationen finden Sie im Artikel zur Protokollierung von Drittanbietern.For more information, see third-party logging providers.

Problembehandlung bei den Internetinformationsdiensten (IIS)Troubleshoot on IIS

Anwendungsereignisprotokoll (IIS)Application Event Log (IIS)

Greifen Sie auf das Anwendungsereignisprotokoll zu:Access the Application Event Log:

  1. Öffnen Sie das Startmenü, suchen Sie nach der Ereignisanzeige, und wählen Sie dann die App Ereignisanzeige aus.Open the Start menu, search for Event Viewer, and select the Event Viewer app.
  2. Öffnen Sie unter Ereignisanzeige den Knoten Windows-Protokolle.In Event Viewer, open the Windows Logs node.
  3. Wählen Sie Anwendung aus, um das Anwendungsereignisprotokoll zu öffnen.Select Application to open the Application Event Log.
  4. Suchen Sie nach Fehlern, die mit der fehlerhaften App im Zusammenhang stehen.Search for errors associated with the failing app. Fehler weisen in der Spalte Quelle den Wert IIS AspNetCore-Modul oder IIS Express AspNetCore-Modul auf.Errors have a value of IIS AspNetCore Module or IIS Express AspNetCore Module in the Source column.

Ausführen der App in einer EingabeaufforderungRun the app at a command prompt

Viele Startfehler erzeugen keine nützlichen Informationen im Anwendungsereignisprotokoll.Many startup errors don't produce useful information in the Application Event Log. Sie können die Ursache für einige Fehler ermitteln, indem Sie die App in einer Eingabeaufforderung auf dem Hostsystem ausführen.You can find the cause of some errors by running the app at a command prompt on the hosting system.

Framework-abhängige BereitstellungFramework-dependent deployment

Wenn es sich bei der App um eine Framework-abhängige Bereitstellung handelt:If the app is a framework-dependent deployment:

  1. Navigieren Sie in einer Eingabeaufforderung zum Bereitstellungsordner und führen Sie die App aus, indem Sie die Assembly der App mit dotnet.exe ausführen.At a command prompt, navigate to the deployment folder and run the app by executing the app's assembly with dotnet.exe. Ersetzen Sie im folgenden Befehl den Namen der Assembly der App durch <assembly_name>: dotnet .\<assembly_name>.dll.In the following command, substitute the name of the app's assembly for <assembly_name>: dotnet .\<assembly_name>.dll.
  2. Die Konsolenausgabe der App, die Fehler anzeigt, wird in das Konsolenfenster geschrieben.The console output from the app, showing any errors, is written to the console window.
  3. Wenn der Fehler während einer Anforderung an die App auftritt, führen Sie eine Anforderung an den Host und Port aus, auf dem Kestrel empfangsbereit ist.If the errors occur when making a request to the app, make a request to the host and port where Kestrel listens. Führen Sie unter Verwendung der Standardhosts und -ports eine Anforderung für http://localhost:5000/ aus.Using the default host and post, make a request to http://localhost:5000/. Wenn die App normalerweise auf die Kestrel-Endpunktadresse reagiert, ist die Problemursache wahrscheinlich die Hostingkonfiguration (anstelle der App).If the app responds normally at the Kestrel endpoint address, the problem is more likely related to the hosting configuration and less likely within the app.

Eigenständige BereitstellungSelf-contained deployment

Wenn es sich bei der App um eine eigenständige Bereitstellung handelt:If the app is a self-contained deployment:

  1. Navigieren Sie in einer Eingabeaufforderung zum Bereitstellungsordner und führen Sie die ausführbaren Dateien der App aus.At a command prompt, navigate to the deployment folder and run the app's executable. Ersetzen Sie im folgenden Befehl den Namen der Assembly der App durch <assembly_name>: <assembly_name>.exe.In the following command, substitute the name of the app's assembly for <assembly_name>: <assembly_name>.exe.
  2. Die Konsolenausgabe der App, die Fehler anzeigt, wird in das Konsolenfenster geschrieben.The console output from the app, showing any errors, is written to the console window.
  3. Wenn der Fehler während einer Anforderung an die App auftritt, führen Sie eine Anforderung an den Host und Port aus, auf dem Kestrel empfangsbereit ist.If the errors occur when making a request to the app, make a request to the host and port where Kestrel listens. Führen Sie unter Verwendung der Standardhosts und -ports eine Anforderung für http://localhost:5000/ aus.Using the default host and post, make a request to http://localhost:5000/. Wenn die App normalerweise auf die Kestrel-Endpunktadresse reagiert, ist die Problemursache wahrscheinlich die Hostingkonfiguration (anstelle der App).If the app responds normally at the Kestrel endpoint address, the problem is more likely related to the hosting configuration and less likely within the app.

stdout-Protokoll des ASP.NET Core-Moduls (IIS)ASP.NET Core Module stdout log (IIS)

So aktivieren Sie stdout-Protokolle und zeigen diese an:To enable and view stdout logs:

  1. Navigieren Sie zum Bereitstellungsordner der Website auf dem Hostsystem.Navigate to the site's deployment folder on the hosting system.
  2. Erstellen Sie den Ordner logs, wenn dieser nicht vorhanden ist.If the logs folder isn't present, create the folder. Anweisungen zum Aktivieren von MSBuild für die automatische Erstellung des Ordners logs in der Bereitstellung finden Sie im Thema Verzeichnisstruktur.For instructions on how to enable MSBuild to create the logs folder in the deployment automatically, see the Directory structure topic.
  3. Bearbeiten Sie die Datei web.config.Edit the web.config file. Legen Sie stdoutLogEnabled auf true fest, und ändern Sie den Pfad von stdoutLogFile so, dass auf den Ordner logs verwiesen wird (Beispiel: .\logs\stdout).Set stdoutLogEnabled to true and change the stdoutLogFile path to point to the logs folder (for example, .\logs\stdout). stdout im Pfad ist das Präfix des Protokolldateinamens.stdout in the path is the log file name prefix. Ein Zeitstempel, eine Prozess-ID und eine Dateierweiterung werden bei der Protokollerstellung automatisch hinzugefügt.A timestamp, process id, and file extension are added automatically when the log is created. Mit stdout als Präfix des Dateinamens wird eine typische Protokolldatei als stdout_20180205184032_5412.log benannt.Using stdout as the file name prefix, a typical log file is named stdout_20180205184032_5412.log.
  4. Stellen Sie sicher, dass die Identität des Anwendungspools über Schreibberechtigungen für den Ordner Protokolle verfügt.Ensure your application pool's identity has write permissions to the logs folder.
  5. Speichern Sie die aktualisierte Datei web.config.Save the updated web.config file.
  6. Führen Sie eine Anforderung an die App aus.Make a request to the app.
  7. Navigieren Sie zu dem Ordner logs.Navigate to the logs folder. Suchen und öffnen Sie das aktuelle stdout-Protokoll.Find and open the most recent stdout log.
  8. Untersuchen Sie das Protokoll auf Fehler.Study the log for errors.

Deaktivieren Sie die stdout-Protokollierung, wenn die Problembehandlung abgeschlossen ist:Disable stdout logging when troubleshooting is complete:

  1. Bearbeiten Sie die Datei web.config.Edit the web.config file.
  2. Legen Sie stdoutLogEnabled auf false fest.Set stdoutLogEnabled to false.
  3. Speichern Sie die Datei.Save the file.

Weitere Informationen finden Sie unter ASP.NET Core-Modul.For more information, see ASP.NET Core-Modul.

Warnung

Wenn das stdout-Protokoll nicht deaktiviert wird, können App- oder Serverfehler auftreten.Failure to disable the stdout log can lead to app or server failure. Für die Protokollgröße oder die Anzahl von erstellten Protokolldateien ist kein Grenzwert festgelegt.There's no limit on log file size or the number of log files created.

Verwenden Sie für die routinemäßige Protokollierung in einer ASP.NET Core-App eine Protokollierungsbibliothek, die die Protokolldateigröße beschränkt und die Protokolle rotiert.For routine logging in an ASP.NET Core app, use a logging library that limits log file size and rotates logs. Weitere Informationen finden Sie im Artikel zur Protokollierung von Drittanbietern.For more information, see third-party logging providers.

Debugprotokoll des ASP.NET Core-Moduls (IIS)ASP.NET Core Module debug log (IIS)

Fügen Sie der web.config-Datei der App die folgenden Handlereinstellungen hinzu, um das Debugprotokoll des ASP.NET Core-Moduls zu aktivieren:Add the following handler settings to the app's web.config file to enable ASP.NET Core Module debug log:

<aspNetCore ...>
  <handlerSettings>
    <handlerSetting name="debugLevel" value="file" />
    <handlerSetting name="debugFile" value="c:\temp\ancm.log" />
  </handlerSettings>
</aspNetCore>

Überprüfen Sie, ob der für das Protokoll angegebene Pfad vorhanden ist, und ob die Identität des Anwendungspools Schreibberechtigungen für den Speicherort hat.Confirm that the path specified for the log exists and that the app pool's identity has write permissions to the location.

Weitere Informationen finden Sie unter ASP.NET Core-Modul.For more information, see ASP.NET Core-Modul.

Aktivieren der Seite mit Ausnahmen für EntwicklerEnable the Developer Exception Page

Die ASPNETCORE_ENVIRONMENT Umgebungsvariable kann zur Datei web.config hinzugefügt werden, um die App in der Entwicklungsumgebung auszuführen.The ASPNETCORE_ENVIRONMENT environment variable can be added to web.config to run the app in the Development environment. Solange die Umgebung nicht beim Starten der App von UseEnvironment im Host-Builder außer Kraft gesetzt wird, kann die Seite mit Ausnahmen für Entwickler durch Festlegen der Umgebungsvariable angezeigt werden, wenn die App ausgeführt wird.As long as the environment isn't overridden in app startup by UseEnvironment on the host builder, setting the environment variable allows the Developer Exception Page to appear when the app is run.

<aspNetCore processPath="dotnet"
      arguments=".\MyApp.dll"
      stdoutLogEnabled="false"
      stdoutLogFile=".\logs\stdout"
      hostingModel="InProcess">
  <environmentVariables>
    <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
  </environmentVariables>
</aspNetCore>

Das Festlegen der Umgebungsvariablen für ASPNETCORE_ENVIRONMENT wird nur bei der Verwendung von Staging- und Testservern empfohlen, die nicht für das Internet verfügbar gemacht werden.Setting the environment variable for ASPNETCORE_ENVIRONMENT is only recommended for use on staging and testing servers that aren't exposed to the Internet. Entfernen Sie nach der Fehlerbehebung die Umgebungsvariable aus der Datei web.config.Remove the environment variable from the web.config file after troubleshooting. Informationen zum Festlegen von Umgebungsvariablen in der Datei web.config finden Sie unter Untergeordnetes environmentVariables-Element von aspNetCore.For information on setting environment variables in web.config, see environmentVariables child element of aspNetCore.

Abrufen von Daten aus einer AppObtain data from an app

Wenn eine App in der Lage sind, auf Anforderungen zu reagieren, erhalten Sie Anforderungen, Verbindungen und zusätzliche Daten von den Apps über die Inlinemiddleware des Terminals.If an app is capable of responding to requests, obtain request, connection, and additional data from the app using terminal inline middleware. Weitere Informationen und Beispielcode finden Sie unter Problembehandlung und Debuggen von ASP.NET Core-Projekten.For more information and sample code, see Problembehandlung und Debuggen von ASP.NET Core-Projekten.

Langsame oder hängende App (IIS)Slow or hanging app (IIS)

Ein Absturzabbild ist eine Momentaufnahme des Systemarbeitsspeichers, die Ihnen dabei behilflich sein kann, die Ursache eines App-Absturzes, eines Startfehlers oder einer langsamen App zu ermitteln.A crash dump is a snapshot of the system's memory and can help determine the cause of an app crash, startup failure, or slow app.

App stürzt ab, oder es tritt eine Ausnahme aufApp crashes or encounters an exception

Abrufen und Analysieren eines Speicherabbilds aus der Windows-Fehlerberichterstattung (WER):Obtain and analyze a dump from Windows Error Reporting (WER):

  1. Erstellen Sie einen Ordner zum Speichern von Absturzabbilddateien unter c:\dumps.Create a folder to hold crash dump files at c:\dumps. Der App-Pool muss über Schreibzugriff auf den Ordner verfügen.The app pool must have write access to the folder.

  2. Führen Sie das PowerShell-Skript „EnableDumps“ aus:Run the EnableDumps PowerShell script:

  3. Führen Sie die App unter den Bedingungen aus, die dazu führen, dass der Absturz auftritt.Run the app under the conditions that cause the crash to occur.

  4. Nachdem der Absturz stattgefunden hat, führen Sie das PowerShell-Skript „DisableDumps“ aus:After the crash has occurred, run the DisableDumps PowerShell script:

Nachdem eine Anwendung abgestürzt ist und die Absturzabbildsammlung abgeschlossen ist, kann die App ordnungsgemäß beendet werden.After an app crashes and dump collection is complete, the app is allowed to terminate normally. Das PowerShell-Skript konfiguriert WER für die Erfassung von bis zu fünf Absturzabbildern pro App.The PowerShell script configures WER to collect up to five dumps per app.

Warnung

Absturzabbilder können eine große Menge Speicherplatz in Anspruch nehmen (jeweils bis zu mehreren GB).Crash dumps might take up a large amount of disk space (up to several gigabytes each).

App hat sich aufgehängt, es tritt ein Fehler während des Starts auf, oder sie wird normal ausgeführtApp hangs, fails during startup, or runs normally

Wenn sich eine App aufgehängt hat (nicht mehr reagiert, aber nicht abstürzt), ein Fehler während des Starts auftritt bzw. die App normal ausgeführt wird, finden Sie weitere Informationen unter Benutzermodus-Absturzabbilddateien: Auswählen des besten Tools, um ein geeignetes Tool zum Generieren des Speicherabbilds auszuwählen.When an app hangs (stops responding but doesn't crash), fails during startup, or runs normally, see User-Mode Dump Files: Choosing the Best Tool to select an appropriate tool to produce the dump.

Analysieren des SpeicherabbildsAnalyze the dump

Ein Speicherabbild kann mithilfe mehrerer Ansätze analysiert werden.A dump can be analyzed using several approaches. Weitere Informationen finden Sie unter Analysieren einer Benutzermodus-Speicherabbilddatei.For more information, see Analyzing a User-Mode Dump File.

Bereinigen der PaketcachesClear package caches

Eine funktionsfähige App kann direkt nach der Durchführung eines Upgrades für das .NET Core SDK auf dem Entwicklungscomputer oder einer Änderung der Paketversionen in der App fehlschlagen.A functioning app may fail immediately after upgrading either the .NET Core SDK on the development machine or changing package versions within the app. In einigen Fällen können inkohärente Pakete eine App beschädigen, wenn größere Upgrades durchgeführt werden.In some cases, incoherent packages may break an app when performing major upgrades. Die meisten dieser Probleme können durch Befolgung der folgenden Anweisungen behoben werden:Most of these issues can be fixed by following these instructions:

  1. Löschen Sie die Ordner bin und obj.Delete the bin and obj folders.

  2. Bereinigen Sie die Paketcaches, indem Sie dotnet nuget locals all --clear über eine Befehlsshell ausführen.Clear the package caches by executing dotnet nuget locals all --clear from a command shell.

    Sie können die Paketcaches auch mit dem Tool nuget.exe und dem Befehl nuget locals all -clear bereinigen.Clearing package caches can also be accomplished with the nuget.exe tool and executing the command nuget locals all -clear. nuget.exe ist wird unter dem Windows Desktop-Betriebssystem nicht gebündelt installiert und muss separat von der NuGet-Website abgerufen werden.nuget.exe isn't a bundled install with the Windows desktop operating system and must be obtained separately from the NuGet website.

  3. Stellen Sie das Projekt wieder her und erstellen Sie es neu.Restore and rebuild the project.

  4. Löschen Sie alle Dateien im Bereitstellungsordner auf dem Server, bevor Sie die App noch mal bereitstellen.Delete all of the files in the deployment folder on the server prior to redeploying the app.

Zusätzliche RessourcenAdditional resources

Azure-DokumentationAzure documentation

Visual Studio-DokumentationVisual Studio documentation

Dokumentation zu Visual Studio CodeVisual Studio Code documentation

Dieser Artikel enthält Informationen über häufige Fehler beim Starten von Apps und Anweisungen zur Fehlerdiagnose bei der Bereitstellung einer App für den Azure App Service oder für IIS:This article provides information on common app startup errors and instructions on how to diagnose errors when an app is deployed to Azure App Service or IIS:

App-StartfehlerApp startup errors
Erläutert allgemeine HTTP-Statuscodeszenarien.Explains common startup HTTP status code scenarios.

Problembehandlung in Azure App ServiceTroubleshoot on Azure App Service
Bietet Ratschläge zur Problembehandlung für Apps, die in Azure App Service bereitgestellt werden.Provides troubleshooting advice for apps deployed to Azure App Service.

Problembehandlung bei den Internetinformationsdiensten (IIS)Troubleshoot on IIS
Bietet Ratschläge zur Problembehandlung für Apps, die in IIS bereitgestellt oder lokal unter IIS Express ausgeführt werden.Provides troubleshooting advice for apps deployed to IIS or running on IIS Express locally. Die Anleitung gilt sowohl für Windows Server- als auch für Windows-Desktopbereitstellungen.The guidance applies to both Windows Server and Windows desktop deployments.

Bereinigen der PaketcachesClear package caches
Erläutert die zu erledigenden Aktionen, wenn inkohärente Pakete eine App beim Durchführen größerer Upgrades oder beim Ändern von Paketversionen beschädigen.Explains what to do when incoherent packages break an app when performing major upgrades or changing package versions.

Zusätzliche RessourcenAdditional resources
Listet weitere Themen zur Problembehandlung auf.Lists additional troubleshooting topics.

App-StartfehlerApp startup errors

In Visual Studio entspricht ein ASP.NET Core-Projekt standardmäßig dem IIS Express-Hosting während des Debuggens.In Visual Studio, an ASP.NET Core project defaults to IIS Express hosting during debugging. Ein 502.5: Prozessfehler oder ein 500.30: Startfehler, der beim lokalen Debuggen auftritt, kann mithilfe der Hinweise in diesem Thema diagnostiziert werden.A 502.5 - Process Failure or a 500.30 - Start Failure that occurs when debugging locally can be diagnosed using the advice in this topic.

403.14 Unzulässig403.14 Forbidden

Die App startet nicht.The app fails to start. Der folgende Fehler wird protokolliert:The following error is logged:

The Web server is configured to not list the contents of this directory.

Der Fehler wird in der Regel durch eine fehlerhafte Bereitstellung auf dem Hostsystem verursacht, wozu eines der folgenden Szenarien gehört:The error is usually caused by a broken deployment on the hosting system, which includes any of the following scenarios:

  • Die App wird im falschen Ordner auf dem Hostsystem bereitgestellt.The app is deployed to the wrong folder on the hosting system.
  • Der Bereitstellungsprozess konnte nicht alle Dateien und Ordner der App in den Bereitstellungsordner auf dem Hostsystem verschieben.The deployment process failed to move all of the app's files and folders to the deployment folder on the hosting system.
  • Die Datei web.config fehlt bei der Bereitstellung, oder der Inhalt der Datei web.config ist falsch formatiert.The web.config file is missing from the deployment, or the web.config file contents are malformed.

Führen Sie die folgenden Schritte aus:Perform the following steps:

  1. Löschen Sie alle Dateien und Ordner aus dem Bereitstellungsordner auf dem Hostsystem.Delete all of the files and folders from the deployment folder on the hosting system.
  2. Stellen Sie den Inhalt des Ordners publish der App mit Ihrer normalen Bereitstellungsmethode wie Visual Studio, PowerShell oder über die manuelle Bereitstellung erneut auf dem Hostsystem bereit:Redeploy the contents of the app's publish folder to the hosting system using your normal method of deployment, such as Visual Studio, PowerShell, or manual deployment:
    • Bestätigen Sie, dass die Datei web.config in der Bereitstellung vorhanden und ihr Inhalt korrekt ist.Confirm that the web.config file is present in the deployment and that its contents are correct.
    • Wenn Sie in Azure App Service hosten, bestätigen Sie, dass die App im Ordner D:\home\site\wwwroot bereitgestellt wird.When hosting on Azure App Service, confirm that the app is deployed to the D:\home\site\wwwroot folder.
    • Wenn die App von IIS gehostet wird, bestätigen Sie, dass die App im physischen Pfad von IIS bereitgestellt wird, der in den grundlegenden Einstellungen des IIS-Managers angezeigt wird.When the app is hosted by IIS, confirm that the app is deployed to the IIS Physical path shown in IIS Manager's Basic Settings.
  3. Bestätigen Sie, dass alle Dateien und Ordner der App bereitgestellt werden, indem Sie die Bereitstellung auf dem Hostsystem mit dem Inhalt des Ordners publish des Projekts vergleichen.Confirm that all of the app's files and folders are deployed by comparing the deployment on the hosting system to the contents of the project's publish folder.

Weitere Informationen über das Layout einer veröffentlichten ASP.NET Core-App finden Sie unter Verzeichnisstruktur für ASP.NET Core.For more information on the layout of a published ASP.NET Core app, see Verzeichnisstruktur für ASP.NET Core. Weitere Informationen zur Datei web.config finden Sie unter ASP.NET Core-Modul.For more information on the web.config file, see ASP.NET Core-Modul.

500: Interner Serverfehler500 Internal Server Error

Die App wird gestartet, aber ein Fehler verhindert, dass der Server auf die Anforderung eingeht.The app starts, but an error prevents the server from fulfilling the request.

Dieser Fehler tritt im Code der App während des Starts oder bei der Erstellung einer Antwort auf.This error occurs within the app's code during startup or while creating a response. Die Antwort enthält möglicherweise keinen Inhalt oder die Antwort wird als 500: Interner Serverfehler im Browser angezeigt.The response may contain no content, or the response may appear as a 500 Internal Server Error in the browser. Das Anwendungsereignisprotokoll gibt normalerweise an, dass die Anwendung normal gestartet wurde.The Application Event Log usually states that the app started normally. Aus Sicht des Servers ist dies richtig.From the server's perspective, that's correct. Die App wurde gestartet, aber sie kann keine gültige Antwort generieren.The app did start, but it can't generate a valid response. Führen Sie die App in einer Eingabeaufforderung auf dem Server aus oder aktivieren Sie das stdout-Protokoll des ASP.NET Core-Moduls, um das Problem zu beheben.Run the app at a command prompt on the server or enable the ASP.NET Core Module stdout log to troubleshoot the problem.

500.0: Fehler beim Laden des prozessinternen Handlers500.0 In-Process Handler Load Failure

Der Workerprozess schlägt fehl.The worker process fails. Die App wird nicht gestartet.The app doesn't start.

Das ASP.NET Core-Modul kann die .NET Core-CLR und den In-Process-Anforderungshandler (aspnetcorev2_inprocess.dll) nicht finden.The ASP.NET Core Module fails to find the .NET Core CLR and find the in-process request handler (aspnetcorev2_inprocess.dll). Überprüfen Sie Folgendes:Check that:

500.0: Fehler beim Laden des prozessexternen Handlers500.0 Out-Of-Process Handler Load Failure

Der Workerprozess schlägt fehl.The worker process fails. Die App wird nicht gestartet.The app doesn't start.

Das ASP.NET Core-Modul kann den Out-of-Process-Hostinganforderungshandler nicht finden.The ASP.NET Core Module fails to find the out-of-process hosting request handler. Stellen Sie sicher, dass sich aspnetcorev2_outofprocess.dll in einem Unterordner mit aspnetcorev2.dll befindet.Make sure the aspnetcorev2_outofprocess.dll is present in a subfolder next to aspnetcorev2.dll.

502.5: Prozessfehler502.5 Process Failure

Der Workerprozess schlägt fehl.The worker process fails. Die App wird nicht gestartet.The app doesn't start.

Das ASP.NET Core-Modul kann den Workerprozess nicht starten.The ASP.NET Core Module attempts to start the worker process but it fails to start. Die Ursache für einen Fehler beim Starten eines Prozesses kann in der Regel über Einträge im Anwendungsereignisprotokoll und im stdout-Protokoll des ASP.NET Core-Moduls ermittelt werden.The cause of a process startup failure can usually be determined from entries in the Application Event Log and the ASP.NET Core Module stdout log.

Eine allgemeine Fehlerbedingung ist, dass die App aufgrund einer Version des freigegebenen ASP.NET Core-Frameworks falsch konfiguriert ist, die nicht vorhanden ist.A common failure condition is the app is misconfigured due to targeting a version of the ASP.NET Core shared framework that isn't present. Überprüfen Sie, welche Versionen des freigegebenen ASP.NET Core-Frameworks auf dem Zielcomputer installiert sind.Check which versions of the ASP.NET Core shared framework are installed on the target machine. Das freigegebene Framework ist der Satz der Assemblys (DLL-Dateien), die auf dem Computer installiert werden und auf die ein Metapaket wie Microsoft.AspNetCore.App verweist.The shared framework is the set of assemblies (.dll files) that are installed on the machine and referenced by a metapackage such as Microsoft.AspNetCore.App. Der Metapaketverweis kann eine mindestens erforderliche Version angeben.The metapackage reference can specify a minimum required version. Weitere Informationen finden Sie unter The shared framework (Das freigegebene Framework).For more information, see The shared framework.

Die Fehlerseite 502.5: Prozessfehler wird zurückgegeben, wenn ein falsch konfiguriertes Hosting oder eine falsch konfigurierte App bewirkt, dass der Workerprozess fehlschlägt:The 502.5 Process Failure error page is returned when a hosting or app misconfiguration causes the worker process to fail:

Fehler beim Starten der Anwendung (ErrorCode 0x800700c1)Failed to start application (ErrorCode '0x800700c1')

EventID: 1010
Source: IIS AspNetCore Module V2
Failed to start application '/LM/W3SVC/6/ROOT/', ErrorCode '0x800700c1'.

Die App konnte nicht gestartet werden, weil die Assembly der App ( .dll) nicht geladen werden konnte.The app failed to start because the app's assembly (.dll) couldn't be loaded.

Dieser Fehler tritt bei einem Bitanzahlkonflikt zwischen der veröffentlichten App und dem w3wp/iisexpress-Prozess auf.This error occurs when there's a bitness mismatch between the published app and the w3wp/iisexpress process.

Überprüfen Sie, ob die 32-Bit-Einstellung des Anwendungspools korrekt ist:Confirm that the app pool's 32-bit setting is correct:

  1. Wählen Sie im IIS-Manager unter Anwendungspools den Anwendungspool aus.Select the app pool in IIS Manager's Application Pools.
  2. Wählen Sie im Bereich Aktionen unter Anwendungspool bearbeiten Erweiterte Einstellungen aus.Select Advanced Settings under Edit Application Pool in the Actions panel.
  3. Wählen Sie 32-Bit-Anwendungen aktivieren aus:Set Enable 32-Bit Applications:
    • Wenn Sie eine 32-Bit-(x86)-App bereitstellen, legen Sie den Wert auf True fest.If deploying a 32-bit (x86) app, set the value to True.
    • Wenn Sie eine 64-Bit-(x64)-App bereitstellen, legen Sie den Wert auf False fest.If deploying a 64-bit (x64) app, set the value to False.

Bestätigen Sie, dass es keinen Konflikt zwischen einer <Platform> MSBuild-Eigenschaft in der Projektdatei und der veröffentlichten Bitanzahl der App gibt.Confirm that there isn't a conflict between a <Platform> MSBuild property in the project file and the published bitness of the app.

VerbindungszurücksetzungConnection reset

Falls ein Fehler auftritt, nachdem die Header gesendet wurden, ist es zu spät für den Server, einen 500: Interner Serverfehler zu senden, wenn ein Fehler auftritt.If an error occurs after the headers are sent, it's too late for the server to send a 500 Internal Server Error when an error occurs. Dies ist häufig der Fall, wenn während der Serialisierung komplexer Objekte für eine Antwort ein Fehler auftritt.This often happens when an error occurs during the serialization of complex objects for a response. Diese Art von Fehler wird angezeigt, wenn ein Verbindungszurücksetzungsfehler auf dem Client auftritt.This type of error appears as a connection reset error on the client. Mithilfe der Anwendungsprotokollierung können diese Fehlertypen behoben werden.Application logging can help troubleshoot these types of errors.

StandardstarteinschränkungenDefault startup limits

Das ASP.NET Core-Modul wurde mit dem Standardwert 120 Sekunden für das startupTimeLimit konfiguriert.The ASP.NET Core Module is configured with a default startupTimeLimit of 120 seconds. Wenn der Standardwert beibehalten wird, dauert der Start einer App möglicherweise bis zu zwei Minuten. Erst danach kann das Modul einen Prozessfehler protokollieren.When left at the default value, an app may take up to two minutes to start before the module logs a process failure. Weitere Informationen zum Konfigurieren des Moduls finden Sie unter Attribute des aspNetCore-Elements.For information on configuring the module, see Attributes of the aspNetCore element.

Problembehandlung in Azure App ServiceTroubleshoot on Azure App Service

Wichtig

ASP.NET Core-Vorschauversion mit Azure App ServiceASP.NET Core preview releases with Azure App Service

ASP.NET Core-Vorschauversionen werden nicht standardmäßig in Azure App Service bereitgestellt.ASP.NET Core preview releases aren't deployed to Azure App Service by default. Weitere Informationen zum Hosten einer App, die eine ASP.NET Core-Vorschauversion verwendet, finden Sie unter Deploy ASP.NET Core preview release to Azure App Service (Bereitstellen der ASP.NET Core-Vorschauversion in Azure App Service).To host an app that uses an ASP.NET Core preview release, see Deploy ASP.NET Core preview release to Azure App Service.

Anwendungsereignisprotokoll (Azure App Service)Application Event Log (Azure App Service)

Verwenden Sie das Blatt Diagnose und Problembehandlung im Azure-Portal, um auf das Anwendungsereignisprotokoll zuzugreifen:To access the Application Event Log, use the Diagnose and solve problems blade in the Azure portal:

  1. Öffnen Sie die App im Azure-Portal unter App Services.In the Azure portal, open the app in App Services.
  2. Klicken Sie auf Diagnose und Problembehandlung.Select Diagnose and solve problems.
  3. Wählen Sie die Überschrift Diagnosetools aus.Select the Diagnostic Tools heading.
  4. Klicken Sie unter Supporttools auf die Schaltfläche Anwendungsereignisse.Under Support Tools, select the Application Events button.
  5. Überprüfen Sie den letzten vom Eintrag IIS AspNetCoreModule oder IIS AspNetCoreModule V2 in der Spalte Quelle angegebenen Fehler.Examine the latest error provided by the IIS AspNetCoreModule or IIS AspNetCoreModule V2 entry in the Source column.

Anstatt das Blatt Diagnose und Problembehandlung zu verwenden, können Sie die Anwendungsereignisprotokoll-Datei auch direkt mit Kudu untersuchen:An alternative to using the Diagnose and solve problems blade is to examine the Application Event Log file directly using Kudu:

  1. Öffnen Sie Erweiterte Tools im Bereich Entwicklungstools.Open Advanced Tools in the Development Tools area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
  2. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.
  3. Öffnen Sie den Ordner LogFiles.Open the LogFiles folder.
  4. Wählen Sie den Bleistift neben der Datei eventlog.xml aus.Select the pencil icon next to the eventlog.xml file.
  5. Untersuchen Sie das Protokoll.Examine the log. Scrollen Sie zum Ende des Protokolls, um die aktuellsten Ereignisse anzuzeigen.Scroll to the bottom of the log to see the most recent events.

Führen Sie die App in der Kudu-Konsole ausRun the app in the Kudu console

Viele Startfehler erzeugen keine nützlichen Informationen im Anwendungsereignisprotokoll.Many startup errors don't produce useful information in the Application Event Log. Sie können die App in der Kudu-Remote-Ausführungskonsole ausführen, um den Fehler zu ermitteln:You can run the app in the Kudu Remote Execution Console to discover the error:

  1. Öffnen Sie Erweiterte Tools im Bereich Entwicklungstools.Open Advanced Tools in the Development Tools area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
  2. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.

Testen einer 32-Bit-App (x86)Test a 32-bit (x86) app

Aktuelles ReleaseCurrent release

  1. cd d:\home\site\wwwroot
  2. Führen Sie die App aus:Run the app:

Die Konsolenausgabe der App, die Fehler anzeigt, wird an die Kudu-Konsole weitergeleitet.The console output from the app, showing any errors, is piped to the Kudu console.

Frameworkabhängige Bereitstellung, die in einem Vorschaurelease ausgeführt wirdFramework-dependent deployment running on a preview release

Erfordert die Installation der Runtimeerweiterung für ASP.NET Core {VERSION} (x86).Requires installing the ASP.NET Core {VERSION} (x86) Runtime site extension.

  1. cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x32 ({X.Y} ist die Runtimeversion.)cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x32 ({X.Y} is the runtime version)
  2. Ausführen der App: dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dllRun the app: dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dll

Die Konsolenausgabe der App, in der alle Fehler angezeigt werden, wird per Pipe an die Kudu-Konsole weitergeleitet.The console output from the app, showing any errors, is piped to the Kudu console.

Testen einer 64-Bit-App (x64)Test a 64-bit (x64) app

Aktuelles ReleaseCurrent release

Die Konsolenausgabe der App, in der alle Fehler angezeigt werden, wird per Pipe an die Kudu-Konsole weitergeleitet.The console output from the app, showing any errors, is piped to the Kudu console.

Frameworkabhängige Bereitstellung, die in einem Vorschaurelease ausgeführt wirdFramework-dependent deployment running on a preview release

Erfordert die Installation der Runtimeerweiterung für ASP.NET Core {VERSION} (x64).Requires installing the ASP.NET Core {VERSION} (x64) Runtime site extension.

  1. cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x64 ({X.Y} ist die Runtimeversion.)cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x64 ({X.Y} is the runtime version)
  2. Ausführen der App: dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dllRun the app: dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dll

Die Konsolenausgabe der App, die Fehler anzeigt, wird an die Kudu-Konsole weitergeleitet.The console output from the app, showing any errors, is piped to the Kudu console.

stdout-Protokoll im ASP.NET Core-Modul (Azure App Service)ASP.NET Core Module stdout log (Azure App Service)

Das stdout-Protokoll des ASP.NET Core-Moduls zeichnet häufig nützliche Fehlermeldungen auf, die nicht im Anwendungsereignisprotokoll enthalten sind.The ASP.NET Core Module stdout log often records useful error messages not found in the Application Event Log. So aktivieren Sie stdout-Protokolle und zeigen diese an:To enable and view stdout logs:

  1. Navigieren Sie zum Blatt Diagnose und Problembehandlung im Azure-Portal.Navigate to the Diagnose and solve problems blade in the Azure portal.
  2. Wählen Sie unter SELECT PROBLEM CATEGORY (PROBLEMKATEGORIE WÄHLEN) die Schaltfläche Web App Down (Web-App ausgefallen) aus.Under SELECT PROBLEM CATEGORY, select the Web App Down button.
  3. Klicken Sie unter Suggested Solutions (Vorgeschlagene Lösungen) > Enable Stdout Log Redirection (stdout-Protokollumleitung aktivieren) auf Open Kudu Console to edit Web.Config (Kudu-Konsole öffnen, um web.config zu bearbeiten).Under Suggested Solutions > Enable Stdout Log Redirection, select the button to Open Kudu Console to edit Web.Config.
  4. Öffnen Sie in der Diagnosekonsole die Ordner unter dem Pfad site > wwwroot.In the Kudu Diagnostic Console, open the folders to the path site > wwwroot. Scrollen Sie nach unten, um die Datei web.config am Ende der Liste einzublenden.Scroll down to reveal the web.config file at the bottom of the list.
  5. Klicken Sie auf den Bleistift neben der Datei web.config.Click the pencil icon next to the web.config file.
  6. Setzen Sie stdoutLogEnabled auf true, und ändern Sie den Pfad stdoutLogFile in: \\?\%home%\LogFiles\stdout.Set stdoutLogEnabled to true and change the stdoutLogFile path to: \\?\%home%\LogFiles\stdout.
  7. Wählen Sie Speichern aus, um die aktualisierte Datei web.config zu speichern.Select Save to save the updated web.config file.
  8. Führen Sie eine Anforderung an die App aus.Make a request to the app.
  9. Kehren Sie zum Azure-Portal zurück.Return to the Azure portal. Wählen Sie das Blatt Erweiterte Tools im Bereich ENTWICKLUNGSTOOLS aus.Select the Advanced Tools blade in the DEVELOPMENT TOOLS area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
  10. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.
  11. Wählen Sie den Ordner LogFiles aus.Select the LogFiles folder.
  12. Überprüfen Sie die Spalte Geändert, und wählen Sie den Bleistift aus, um das stdout-Protokoll mit dem letzten Änderungsdatum zu bearbeiten.Inspect the Modified column and select the pencil icon to edit the stdout log with the latest modification date.
  13. Wenn die Protokolldatei geöffnet wird, wird der Fehler angezeigt.When the log file opens, the error is displayed.

Deaktivieren Sie die stdout-Protokollierung, wenn die Problembehandlung abgeschlossen ist:Disable stdout logging when troubleshooting is complete:

  1. Kehren Sie in der Kudu-Diagnosekonsole zum Pfad site > wwwroot zurück, um die Datei web.config einzublenden.In the Kudu Diagnostic Console, return to the path site > wwwroot to reveal the web.config file. Öffnen Sie die Datei web.config erneut, indem Sie den Bleistift auswählen.Open the web.config file again by selecting the pencil icon.
  2. Legen Sie stdoutLogEnabled auf false fest.Set stdoutLogEnabled to false.
  3. Wählen Sie Speichern aus, um die Datei zu speichern.Select Save to save the file.

Weitere Informationen finden Sie unter ASP.NET Core-Modul.For more information, see ASP.NET Core-Modul.

Warnung

Wenn das stdout-Protokoll nicht deaktiviert wird, können App- oder Serverfehler auftreten.Failure to disable the stdout log can lead to app or server failure. Für die Protokollgröße oder die Anzahl von erstellten Protokolldateien ist kein Grenzwert festgelegt.There's no limit on log file size or the number of log files created. Verwenden Sie die stdout-Protokollierung nur für die Behandlung von App-Startproblemen.Only use stdout logging to troubleshoot app startup problems.

Verwenden Sie für die allgemeine Protokollierung in einer ASP.NET Core-App nach dem Start eine Protokollierungsbibliothek, die die Protokolldateigröße beschränkt und Protokolle rotiert.For general logging in an ASP.NET Core app after startup, use a logging library that limits log file size and rotates logs. Weitere Informationen finden Sie im Artikel zur Protokollierung von Drittanbietern.For more information, see third-party logging providers.

Debugprotokoll im ASP.NET Core-Modul (Azure App Service)ASP.NET Core Module debug log (Azure App Service)

Das Debugprotokoll des ASP.NET Core-Moduls ermöglicht die zusätzliche und ausführlichere Protokollierung über das ASP.NET Core-Modul.The ASP.NET Core Module debug log provides additional, deeper logging from the ASP.NET Core Module. So aktivieren Sie stdout-Protokolle und zeigen diese an:To enable and view stdout logs:

  1. Führen Sie einen der folgenden Schritte aus, um das erweiterte Diagnoseprotokoll zu aktivieren:To enable the enhanced diagnostic log, perform either of the following:
    • Befolgen Sie den Anweisungen in den erweiterten Diagnoseprotokollen, um die App für die erweiterte Diagnoseprotokollierung zu konfigurieren.Follow the instructions in Enhanced diagnostic logs to configure the app for an enhanced diagnostic logging. Stellen Sie die App erneut bereit.Redeploy the app.
    • Fügen Sie die in unter Erweiterte Diagnoseprotokollen enthaltene <handlerSettings>-Klasse für die web.config-Datei der Live-App über die Kudu-Konsole hinzu:Add the <handlerSettings> shown in Enhanced diagnostic logs to the live app's web.config file using the Kudu console:
      1. Öffnen Sie Erweiterte Tools im Bereich Entwicklungstools.Open Advanced Tools in the Development Tools area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
      2. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.
      3. Öffnen Sie die Ordner unter dem Pfad site > wwwroot.Open the folders to the path site > wwwroot. Bearbeiten Sie die Datei web.config, indem Sie auf die Bleistiftschaltfläche klicken.Edit the web.config file by selecting the pencil button. Fügen Sie den Abschnitt <handlerSettings> wie in den erweiterten Diagnoseprotokollen dargestellt hinzu.Add the <handlerSettings> section as shown in Enhanced diagnostic logs. Klicken Sie auf die Schaltfläche Speichern.Select the Save button.
  2. Öffnen Sie Erweiterte Tools im Bereich Entwicklungstools.Open Advanced Tools in the Development Tools area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
  3. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.
  4. Öffnen Sie die Ordner unter dem Pfad site > wwwroot.Open the folders to the path site > wwwroot. Wenn Sie keinen Pfad für die aspnetcore-debug.log-Datei angegeben haben, wird die Datei in der Liste aufgeführt.If you didn't supply a path for the aspnetcore-debug.log file, the file appears in the list. Wenn Sie jedoch einen Pfad angegeben haben, navigieren Sie zum Speicherort der Protokolldatei.If you supplied a path, navigate to the location of the log file.
  5. Öffnen Sie die Protokolldatei über die Bleistiftschaltfläche neben dem Dateinamen.Open the log file with the pencil button next to the file name.

Deaktivieren Sie die Debugprotokollierung, wenn die Problembehandlung abgeschlossen ist.Disable debug logging when troubleshooting is complete:

Führen Sie einen der folgenden Schritte aus, um das erweiterte Debugprotokoll zu deaktivieren:To disable the enhanced debug log, perform either of the following:

  • Entfernen Sie <handlerSettings> aus der lokalen web.config-Datei, und stellen Sie die App erneut bereit.Remove the <handlerSettings> from the web.config file locally and redeploy the app.
  • Verwenden Sie die Kudu-Konsole, um die web.config-Datei zu bearbeiten und den Abschnitt <handlerSettings> zu entfernen.Use the Kudu console to edit the web.config file and remove the <handlerSettings> section. Speichern Sie die Datei.Save the file.

Weitere Informationen finden Sie unter ASP.NET Core-Modul.For more information, see ASP.NET Core-Modul.

Warnung

Wenn das Debugprotokoll nicht deaktiviert werden kann, können App- oder Serverfehler auftreten.Failure to disable the debug log can lead to app or server failure. Es gibt keine Begrenzung für die Größe der Protokolldatei.There's no limit on log file size. Nutzen Sie die Debugprotokollierung nur für die Behandlung von App-Startproblemen.Only use debug logging to troubleshoot app startup problems.

Verwenden Sie für die allgemeine Protokollierung in einer ASP.NET Core-App nach dem Start eine Protokollierungsbibliothek, die die Protokolldateigröße beschränkt und Protokolle rotiert.For general logging in an ASP.NET Core app after startup, use a logging library that limits log file size and rotates logs. Weitere Informationen finden Sie im Artikel zur Protokollierung von Drittanbietern.For more information, see third-party logging providers.

Langsame oder hängende App (Azure App Service)Slow or hanging app (Azure App Service)

Wenn eine App bei einer Anforderung langsam reagiert oder hängt, lesen Sie folgende Artikel:When an app responds slowly or hangs on a request, see the following articles:

ÜberwachungsblätterMonitoring blades

Überwachungsblätter bieten eine Alternative zur Problembehandlung mit den weiter oben in diesem Thema beschriebenen Methoden.Monitoring blades provide an alternative troubleshooting experience to the methods described earlier in the topic. Die Blätter können zur Diagnose von Serie 500-Fehlern verwendet werden.These blades can be used to diagnose 500-series errors.

Vergewissern Sie sich, dass ASP.NET Core-Erweiterungen installiert sind.Confirm that the ASP.NET Core Extensions are installed. Wenn die Erweiterungen nicht installiert sind, installieren Sie diese manuell:If the extensions aren't installed, install them manually:

  1. Wählen Sie im Blattabschnitt ENTWICKLUNGSTOOLS das Blatt Erweiterungen aus.In the DEVELOPMENT TOOLS blade section, select the Extensions blade.
  2. Die ASP.NET Core-Erweiterungen werden in der Liste angezeigt.The ASP.NET Core Extensions should appear in the list.
  3. Wenn die Erweiterungen nicht installiert sind, klicken Sie auf Hinzufügen.If the extensions aren't installed, select the Add button.
  4. Wählen Sie die ASP.NET Core-Erweiterungen aus der Liste.Choose the ASP.NET Core Extensions from the list.
  5. Klicken Sie auf OK, um die rechtlichen Bedingungen zu akzeptieren.Select OK to accept the legal terms.
  6. Klicken Sie auf OK auf dem Blatt Erweiterung hinzufügen.Select OK on the Add extension blade.
  7. Mit einer Popup-Informationsmeldung wird die erfolgreiche Installation der Erweiterungen angezeigt.An informational pop-up message indicates when the extensions are successfully installed.

Wenn die stdout-Protokollierung nicht aktiviert ist, gehen Sie folgendermaßen vor:If stdout logging isn't enabled, follow these steps:

  1. Wählen Sie im Azure-Portal das Blatt Erweiterte Tools im Bereich ENTWICKLUNGSTOOLS aus.In the Azure portal, select the Advanced Tools blade in the DEVELOPMENT TOOLS area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
  2. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.
  3. Öffnen Sie die Ordner unter dem Pfad site > wwwroot, und scrollen Sie nach unten, um die Datei web.config am Ende der Liste einzublenden.Open the folders to the path site > wwwroot and scroll down to reveal the web.config file at the bottom of the list.
  4. Klicken Sie auf den Bleistift neben der Datei web.config.Click the pencil icon next to the web.config file.
  5. Setzen Sie stdoutLogEnabled auf true, und ändern Sie den Pfad stdoutLogFile in: \\?\%home%\LogFiles\stdout.Set stdoutLogEnabled to true and change the stdoutLogFile path to: \\?\%home%\LogFiles\stdout.
  6. Wählen Sie Speichern aus, um die aktualisierte Datei web.config zu speichern.Select Save to save the updated web.config file.

Fahren Sie mit der Aktivierung der Diagnoseprotokollierung fort:Proceed to activate diagnostic logging:

  1. Wählen Sie im Azure-Portal das Blatt Diagnoseprotokolle aus.In the Azure portal, select the Diagnostics logs blade.
  2. Wählen Sie den Parameter On für Anwendungsprotokollierung (Dateisystem) und Detaillierte Fehlermeldungen aus.Select the On switch for Application Logging (Filesystem) and Detailed error messages. Klicken Sie auf Speichern am oberen Rand des Blatts.Select the Save button at the top of the blade.
  3. Um die Ablaufverfolgung für Anforderungsfehler, auch bekannt als Protokollierung der Anforderungsfehler-Ereignispufferung (FREB), einzuschließen, wählen Sie den Parameter On für Ablaufverfolgung für Anforderungsfehler aus.To include failed request tracing, also known as Failed Request Event Buffering (FREB) logging, select the On switch for Failed request tracing.
  4. Wählen Sie das Blatt Protokollstream aus, das direkt unter dem Blatt Diagnoseprotokolle im Portal angezeigt wird.Select the Log stream blade, which is listed immediately under the Diagnostics logs blade in the portal.
  5. Führen Sie eine Anforderung an die App aus.Make a request to the app.
  6. In den Protokollstreamdaten wird die Ursache des Fehlers angegeben.Within the log stream data, the cause of the error is indicated.

Achten Sie darauf, die stdout-Protokollierung zu deaktivieren, wenn die Problembehandlung abgeschlossen ist.Be sure to disable stdout logging when troubleshooting is complete.

So zeigen Sie die Ablaufverfolgungsprotokolle für Anforderungsfehler (FREB-Protokolle) an:To view the failed request tracing logs (FREB logs):

  1. Navigieren Sie zum Blatt Diagnose und Problembehandlung im Azure-Portal.Navigate to the Diagnose and solve problems blade in the Azure portal.
  2. Wählen Sie Failed Request Tracing Logs (Ablaufverfolgungsprotokolle für Anforderungsfehler) im Bereich SUPPORTTOOLS der Seitenleiste aus.Select Failed Request Tracing Logs from the SUPPORT TOOLS area of the sidebar.

Weitere Informationen finden Sie im Abschnitt „Failed request traces“ im Thema „Enable diagnostics logging for apps in Azure App Service“ und unter Häufig gestellte Fragen zur Anwendungsleistung von Web-Apps in Azure: Wie schalte ich die Ablaufverfolgung für Anforderungsfehler ein?See Failed request traces section of the Enable diagnostics logging for web apps in Azure App Service topic and the Application performance FAQs for Web Apps in Azure: How do I turn on failed request tracing? for more information.

Aktivieren der Diagnoseprotokollierung für Apps in Azure App Service.For more information, see Enable diagnostics logging for web apps in Azure App Service.

Warnung

Wenn das stdout-Protokoll nicht deaktiviert wird, können App- oder Serverfehler auftreten.Failure to disable the stdout log can lead to app or server failure. Für die Protokollgröße oder die Anzahl von erstellten Protokolldateien ist kein Grenzwert festgelegt.There's no limit on log file size or the number of log files created.

Verwenden Sie für die routinemäßige Protokollierung in einer ASP.NET Core-App eine Protokollierungsbibliothek, die die Protokolldateigröße beschränkt und die Protokolle rotiert.For routine logging in an ASP.NET Core app, use a logging library that limits log file size and rotates logs. Weitere Informationen finden Sie im Artikel zur Protokollierung von Drittanbietern.For more information, see third-party logging providers.

Problembehandlung bei den Internetinformationsdiensten (IIS)Troubleshoot on IIS

Anwendungsereignisprotokoll (IIS)Application Event Log (IIS)

Greifen Sie auf das Anwendungsereignisprotokoll zu:Access the Application Event Log:

  1. Öffnen Sie das Startmenü, suchen Sie nach der Ereignisanzeige, und wählen Sie dann die App Ereignisanzeige aus.Open the Start menu, search for Event Viewer, and select the Event Viewer app.
  2. Öffnen Sie unter Ereignisanzeige den Knoten Windows-Protokolle.In Event Viewer, open the Windows Logs node.
  3. Wählen Sie Anwendung aus, um das Anwendungsereignisprotokoll zu öffnen.Select Application to open the Application Event Log.
  4. Suchen Sie nach Fehlern, die mit der fehlerhaften App im Zusammenhang stehen.Search for errors associated with the failing app. Fehler weisen in der Spalte Quelle den Wert IIS AspNetCore-Modul oder IIS Express AspNetCore-Modul auf.Errors have a value of IIS AspNetCore Module or IIS Express AspNetCore Module in the Source column.

Ausführen der App in einer EingabeaufforderungRun the app at a command prompt

Viele Startfehler erzeugen keine nützlichen Informationen im Anwendungsereignisprotokoll.Many startup errors don't produce useful information in the Application Event Log. Sie können die Ursache für einige Fehler ermitteln, indem Sie die App in einer Eingabeaufforderung auf dem Hostsystem ausführen.You can find the cause of some errors by running the app at a command prompt on the hosting system.

Framework-abhängige BereitstellungFramework-dependent deployment

Wenn es sich bei der App um eine Framework-abhängige Bereitstellung handelt:If the app is a framework-dependent deployment:

  1. Navigieren Sie in einer Eingabeaufforderung zum Bereitstellungsordner und führen Sie die App aus, indem Sie die Assembly der App mit dotnet.exe ausführen.At a command prompt, navigate to the deployment folder and run the app by executing the app's assembly with dotnet.exe. Ersetzen Sie im folgenden Befehl den Namen der Assembly der App durch <assembly_name>: dotnet .\<assembly_name>.dll.In the following command, substitute the name of the app's assembly for <assembly_name>: dotnet .\<assembly_name>.dll.
  2. Die Konsolenausgabe der App, die Fehler anzeigt, wird in das Konsolenfenster geschrieben.The console output from the app, showing any errors, is written to the console window.
  3. Wenn der Fehler während einer Anforderung an die App auftritt, führen Sie eine Anforderung an den Host und Port aus, auf dem Kestrel empfangsbereit ist.If the errors occur when making a request to the app, make a request to the host and port where Kestrel listens. Führen Sie unter Verwendung der Standardhosts und -ports eine Anforderung für http://localhost:5000/ aus.Using the default host and post, make a request to http://localhost:5000/. Wenn die App normalerweise auf die Kestrel-Endpunktadresse reagiert, ist die Problemursache wahrscheinlich die Hostingkonfiguration (anstelle der App).If the app responds normally at the Kestrel endpoint address, the problem is more likely related to the hosting configuration and less likely within the app.

Eigenständige BereitstellungSelf-contained deployment

Wenn es sich bei der App um eine eigenständige Bereitstellung handelt:If the app is a self-contained deployment:

  1. Navigieren Sie in einer Eingabeaufforderung zum Bereitstellungsordner und führen Sie die ausführbaren Dateien der App aus.At a command prompt, navigate to the deployment folder and run the app's executable. Ersetzen Sie im folgenden Befehl den Namen der Assembly der App durch <assembly_name>: <assembly_name>.exe.In the following command, substitute the name of the app's assembly for <assembly_name>: <assembly_name>.exe.
  2. Die Konsolenausgabe der App, die Fehler anzeigt, wird in das Konsolenfenster geschrieben.The console output from the app, showing any errors, is written to the console window.
  3. Wenn der Fehler während einer Anforderung an die App auftritt, führen Sie eine Anforderung an den Host und Port aus, auf dem Kestrel empfangsbereit ist.If the errors occur when making a request to the app, make a request to the host and port where Kestrel listens. Führen Sie unter Verwendung der Standardhosts und -ports eine Anforderung für http://localhost:5000/ aus.Using the default host and post, make a request to http://localhost:5000/. Wenn die App normalerweise auf die Kestrel-Endpunktadresse reagiert, ist die Problemursache wahrscheinlich die Hostingkonfiguration (anstelle der App).If the app responds normally at the Kestrel endpoint address, the problem is more likely related to the hosting configuration and less likely within the app.

stdout-Protokoll des ASP.NET Core-Moduls (IIS)ASP.NET Core Module stdout log (IIS)

So aktivieren Sie stdout-Protokolle und zeigen diese an:To enable and view stdout logs:

  1. Navigieren Sie zum Bereitstellungsordner der Website auf dem Hostsystem.Navigate to the site's deployment folder on the hosting system.
  2. Erstellen Sie den Ordner logs, wenn dieser nicht vorhanden ist.If the logs folder isn't present, create the folder. Anweisungen zum Aktivieren von MSBuild für die automatische Erstellung des Ordners logs in der Bereitstellung finden Sie im Thema Verzeichnisstruktur.For instructions on how to enable MSBuild to create the logs folder in the deployment automatically, see the Directory structure topic.
  3. Bearbeiten Sie die Datei web.config.Edit the web.config file. Legen Sie stdoutLogEnabled auf true fest, und ändern Sie den Pfad von stdoutLogFile so, dass auf den Ordner logs verwiesen wird (Beispiel: .\logs\stdout).Set stdoutLogEnabled to true and change the stdoutLogFile path to point to the logs folder (for example, .\logs\stdout). stdout im Pfad ist das Präfix des Protokolldateinamens.stdout in the path is the log file name prefix. Ein Zeitstempel, eine Prozess-ID und eine Dateierweiterung werden bei der Protokollerstellung automatisch hinzugefügt.A timestamp, process id, and file extension are added automatically when the log is created. Mit stdout als Präfix des Dateinamens wird eine typische Protokolldatei als stdout_20180205184032_5412.log benannt.Using stdout as the file name prefix, a typical log file is named stdout_20180205184032_5412.log.
  4. Stellen Sie sicher, dass die Identität des Anwendungspools über Schreibberechtigungen für den Ordner Protokolle verfügt.Ensure your application pool's identity has write permissions to the logs folder.
  5. Speichern Sie die aktualisierte Datei web.config.Save the updated web.config file.
  6. Führen Sie eine Anforderung an die App aus.Make a request to the app.
  7. Navigieren Sie zu dem Ordner logs.Navigate to the logs folder. Suchen und öffnen Sie das aktuelle stdout-Protokoll.Find and open the most recent stdout log.
  8. Untersuchen Sie das Protokoll auf Fehler.Study the log for errors.

Deaktivieren Sie die stdout-Protokollierung, wenn die Problembehandlung abgeschlossen ist:Disable stdout logging when troubleshooting is complete:

  1. Bearbeiten Sie die Datei web.config.Edit the web.config file.
  2. Legen Sie stdoutLogEnabled auf false fest.Set stdoutLogEnabled to false.
  3. Speichern Sie die Datei.Save the file.

Weitere Informationen finden Sie unter ASP.NET Core-Modul.For more information, see ASP.NET Core-Modul.

Warnung

Wenn das stdout-Protokoll nicht deaktiviert wird, können App- oder Serverfehler auftreten.Failure to disable the stdout log can lead to app or server failure. Für die Protokollgröße oder die Anzahl von erstellten Protokolldateien ist kein Grenzwert festgelegt.There's no limit on log file size or the number of log files created.

Verwenden Sie für die routinemäßige Protokollierung in einer ASP.NET Core-App eine Protokollierungsbibliothek, die die Protokolldateigröße beschränkt und die Protokolle rotiert.For routine logging in an ASP.NET Core app, use a logging library that limits log file size and rotates logs. Weitere Informationen finden Sie im Artikel zur Protokollierung von Drittanbietern.For more information, see third-party logging providers.

Debugprotokoll des ASP.NET Core-Moduls (IIS)ASP.NET Core Module debug log (IIS)

Fügen Sie der web.config-Datei der App die folgenden Handlereinstellungen hinzu, um das Debugprotokoll des ASP.NET Core-Moduls zu aktivieren:Add the following handler settings to the app's web.config file to enable ASP.NET Core Module debug log:

<aspNetCore ...>
  <handlerSettings>
    <handlerSetting name="debugLevel" value="file" />
    <handlerSetting name="debugFile" value="c:\temp\ancm.log" />
  </handlerSettings>
</aspNetCore>

Überprüfen Sie, ob der für das Protokoll angegebene Pfad vorhanden ist, und ob die Identität des Anwendungspools Schreibberechtigungen für den Speicherort hat.Confirm that the path specified for the log exists and that the app pool's identity has write permissions to the location.

Weitere Informationen finden Sie unter ASP.NET Core-Modul.For more information, see ASP.NET Core-Modul.

Aktivieren der Seite mit Ausnahmen für EntwicklerEnable the Developer Exception Page

Die ASPNETCORE_ENVIRONMENT Umgebungsvariable kann zur Datei web.config hinzugefügt werden, um die App in der Entwicklungsumgebung auszuführen.The ASPNETCORE_ENVIRONMENT environment variable can be added to web.config to run the app in the Development environment. Solange die Umgebung nicht beim Starten der App von UseEnvironment im Host-Builder außer Kraft gesetzt wird, kann die Seite mit Ausnahmen für Entwickler durch Festlegen der Umgebungsvariable angezeigt werden, wenn die App ausgeführt wird.As long as the environment isn't overridden in app startup by UseEnvironment on the host builder, setting the environment variable allows the Developer Exception Page to appear when the app is run.

<aspNetCore processPath="dotnet"
      arguments=".\MyApp.dll"
      stdoutLogEnabled="false"
      stdoutLogFile=".\logs\stdout"
      hostingModel="InProcess">
  <environmentVariables>
    <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
  </environmentVariables>
</aspNetCore>

Das Festlegen der Umgebungsvariablen für ASPNETCORE_ENVIRONMENT wird nur bei der Verwendung von Staging- und Testservern empfohlen, die nicht für das Internet verfügbar gemacht werden.Setting the environment variable for ASPNETCORE_ENVIRONMENT is only recommended for use on staging and testing servers that aren't exposed to the Internet. Entfernen Sie nach der Fehlerbehebung die Umgebungsvariable aus der Datei web.config.Remove the environment variable from the web.config file after troubleshooting. Informationen zum Festlegen von Umgebungsvariablen in der Datei web.config finden Sie unter Untergeordnetes environmentVariables-Element von aspNetCore.For information on setting environment variables in web.config, see environmentVariables child element of aspNetCore.

Abrufen von Daten aus einer AppObtain data from an app

Wenn eine App in der Lage sind, auf Anforderungen zu reagieren, erhalten Sie Anforderungen, Verbindungen und zusätzliche Daten von den Apps über die Inlinemiddleware des Terminals.If an app is capable of responding to requests, obtain request, connection, and additional data from the app using terminal inline middleware. Weitere Informationen und Beispielcode finden Sie unter Problembehandlung und Debuggen von ASP.NET Core-Projekten.For more information and sample code, see Problembehandlung und Debuggen von ASP.NET Core-Projekten.

Langsame oder hängende App (IIS)Slow or hanging app (IIS)

Ein Absturzabbild ist eine Momentaufnahme des Systemarbeitsspeichers, die Ihnen dabei behilflich sein kann, die Ursache eines App-Absturzes, eines Startfehlers oder einer langsamen App zu ermitteln.A crash dump is a snapshot of the system's memory and can help determine the cause of an app crash, startup failure, or slow app.

App stürzt ab, oder es tritt eine Ausnahme aufApp crashes or encounters an exception

Abrufen und Analysieren eines Speicherabbilds aus der Windows-Fehlerberichterstattung (WER):Obtain and analyze a dump from Windows Error Reporting (WER):

  1. Erstellen Sie einen Ordner zum Speichern von Absturzabbilddateien unter c:\dumps.Create a folder to hold crash dump files at c:\dumps. Der App-Pool muss über Schreibzugriff auf den Ordner verfügen.The app pool must have write access to the folder.

  2. Führen Sie das PowerShell-Skript „EnableDumps“ aus:Run the EnableDumps PowerShell script:

  3. Führen Sie die App unter den Bedingungen aus, die dazu führen, dass der Absturz auftritt.Run the app under the conditions that cause the crash to occur.

  4. Nachdem der Absturz stattgefunden hat, führen Sie das PowerShell-Skript „DisableDumps“ aus:After the crash has occurred, run the DisableDumps PowerShell script:

Nachdem eine Anwendung abgestürzt ist und die Absturzabbildsammlung abgeschlossen ist, kann die App ordnungsgemäß beendet werden.After an app crashes and dump collection is complete, the app is allowed to terminate normally. Das PowerShell-Skript konfiguriert WER für die Erfassung von bis zu fünf Absturzabbildern pro App.The PowerShell script configures WER to collect up to five dumps per app.

Warnung

Absturzabbilder können eine große Menge Speicherplatz in Anspruch nehmen (jeweils bis zu mehreren GB).Crash dumps might take up a large amount of disk space (up to several gigabytes each).

App hat sich aufgehängt, es tritt ein Fehler während des Starts auf, oder sie wird normal ausgeführtApp hangs, fails during startup, or runs normally

Wenn sich eine App aufgehängt hat (nicht mehr reagiert, aber nicht abstürzt), ein Fehler während des Starts auftritt bzw. die App normal ausgeführt wird, finden Sie weitere Informationen unter Benutzermodus-Absturzabbilddateien: Auswählen des besten Tools, um ein geeignetes Tool zum Generieren des Speicherabbilds auszuwählen.When an app hangs (stops responding but doesn't crash), fails during startup, or runs normally, see User-Mode Dump Files: Choosing the Best Tool to select an appropriate tool to produce the dump.

Analysieren des SpeicherabbildsAnalyze the dump

Ein Speicherabbild kann mithilfe mehrerer Ansätze analysiert werden.A dump can be analyzed using several approaches. Weitere Informationen finden Sie unter Analysieren einer Benutzermodus-Speicherabbilddatei.For more information, see Analyzing a User-Mode Dump File.

Bereinigen der PaketcachesClear package caches

Eine funktionsfähige App kann direkt nach der Durchführung eines Upgrades für das .NET Core SDK auf dem Entwicklungscomputer oder einer Änderung der Paketversionen in der App fehlschlagen.A functioning app may fail immediately after upgrading either the .NET Core SDK on the development machine or changing package versions within the app. In einigen Fällen können inkohärente Pakete eine App beschädigen, wenn größere Upgrades durchgeführt werden.In some cases, incoherent packages may break an app when performing major upgrades. Die meisten dieser Probleme können durch Befolgung der folgenden Anweisungen behoben werden:Most of these issues can be fixed by following these instructions:

  1. Löschen Sie die Ordner bin und obj.Delete the bin and obj folders.

  2. Bereinigen Sie die Paketcaches, indem Sie dotnet nuget locals all --clear über eine Befehlsshell ausführen.Clear the package caches by executing dotnet nuget locals all --clear from a command shell.

    Sie können die Paketcaches auch mit dem Tool nuget.exe und dem Befehl nuget locals all -clear bereinigen.Clearing package caches can also be accomplished with the nuget.exe tool and executing the command nuget locals all -clear. nuget.exe ist wird unter dem Windows Desktop-Betriebssystem nicht gebündelt installiert und muss separat von der NuGet-Website abgerufen werden.nuget.exe isn't a bundled install with the Windows desktop operating system and must be obtained separately from the NuGet website.

  3. Stellen Sie das Projekt wieder her und erstellen Sie es neu.Restore and rebuild the project.

  4. Löschen Sie alle Dateien im Bereitstellungsordner auf dem Server, bevor Sie die App noch mal bereitstellen.Delete all of the files in the deployment folder on the server prior to redeploying the app.

Zusätzliche RessourcenAdditional resources

Azure-DokumentationAzure documentation

Visual Studio-DokumentationVisual Studio documentation

Dokumentation zu Visual Studio CodeVisual Studio Code documentation

Dieser Artikel enthält Informationen über häufige Fehler beim Starten von Apps und Anweisungen zur Fehlerdiagnose bei der Bereitstellung einer App für den Azure App Service oder für IIS:This article provides information on common app startup errors and instructions on how to diagnose errors when an app is deployed to Azure App Service or IIS:

App-StartfehlerApp startup errors
Erläutert allgemeine HTTP-Statuscodeszenarien.Explains common startup HTTP status code scenarios.

Problembehandlung in Azure App ServiceTroubleshoot on Azure App Service
Bietet Ratschläge zur Problembehandlung für Apps, die in Azure App Service bereitgestellt werden.Provides troubleshooting advice for apps deployed to Azure App Service.

Problembehandlung bei den Internetinformationsdiensten (IIS)Troubleshoot on IIS
Bietet Ratschläge zur Problembehandlung für Apps, die in IIS bereitgestellt oder lokal unter IIS Express ausgeführt werden.Provides troubleshooting advice for apps deployed to IIS or running on IIS Express locally. Die Anleitung gilt sowohl für Windows Server- als auch für Windows-Desktopbereitstellungen.The guidance applies to both Windows Server and Windows desktop deployments.

Bereinigen der PaketcachesClear package caches
Erläutert die zu erledigenden Aktionen, wenn inkohärente Pakete eine App beim Durchführen größerer Upgrades oder beim Ändern von Paketversionen beschädigen.Explains what to do when incoherent packages break an app when performing major upgrades or changing package versions.

Zusätzliche RessourcenAdditional resources
Listet weitere Themen zur Problembehandlung auf.Lists additional troubleshooting topics.

App-StartfehlerApp startup errors

In Visual Studio entspricht ein ASP.NET Core-Projekt standardmäßig dem IIS Express-Hosting während des Debuggens.In Visual Studio, an ASP.NET Core project defaults to IIS Express hosting during debugging. Ein 502.5: Prozessfehler, der beim lokalen Debuggen auftritt, kann mithilfe der Hinweise in diesem Thema diagnostiziert werden.A 502.5 Process Failure that occurs when debugging locally can be diagnosed using the advice in this topic.

403.14 Unzulässig403.14 Forbidden

Die App startet nicht.The app fails to start. Der folgende Fehler wird protokolliert:The following error is logged:

The Web server is configured to not list the contents of this directory.

Der Fehler wird in der Regel durch eine fehlerhafte Bereitstellung auf dem Hostsystem verursacht, wozu eines der folgenden Szenarien gehört:The error is usually caused by a broken deployment on the hosting system, which includes any of the following scenarios:

  • Die App wird im falschen Ordner auf dem Hostsystem bereitgestellt.The app is deployed to the wrong folder on the hosting system.
  • Der Bereitstellungsprozess konnte nicht alle Dateien und Ordner der App in den Bereitstellungsordner auf dem Hostsystem verschieben.The deployment process failed to move all of the app's files and folders to the deployment folder on the hosting system.
  • Die Datei web.config fehlt bei der Bereitstellung, oder der Inhalt der Datei web.config ist falsch formatiert.The web.config file is missing from the deployment, or the web.config file contents are malformed.

Führen Sie die folgenden Schritte aus:Perform the following steps:

  1. Löschen Sie alle Dateien und Ordner aus dem Bereitstellungsordner auf dem Hostsystem.Delete all of the files and folders from the deployment folder on the hosting system.
  2. Stellen Sie den Inhalt des Ordners publish der App mit Ihrer normalen Bereitstellungsmethode wie Visual Studio, PowerShell oder über die manuelle Bereitstellung erneut auf dem Hostsystem bereit:Redeploy the contents of the app's publish folder to the hosting system using your normal method of deployment, such as Visual Studio, PowerShell, or manual deployment:
    • Bestätigen Sie, dass die Datei web.config in der Bereitstellung vorhanden und ihr Inhalt korrekt ist.Confirm that the web.config file is present in the deployment and that its contents are correct.
    • Wenn Sie in Azure App Service hosten, bestätigen Sie, dass die App im Ordner D:\home\site\wwwroot bereitgestellt wird.When hosting on Azure App Service, confirm that the app is deployed to the D:\home\site\wwwroot folder.
    • Wenn die App von IIS gehostet wird, bestätigen Sie, dass die App im physischen Pfad von IIS bereitgestellt wird, der in den grundlegenden Einstellungen des IIS-Managers angezeigt wird.When the app is hosted by IIS, confirm that the app is deployed to the IIS Physical path shown in IIS Manager's Basic Settings.
  3. Bestätigen Sie, dass alle Dateien und Ordner der App bereitgestellt werden, indem Sie die Bereitstellung auf dem Hostsystem mit dem Inhalt des Ordners publish des Projekts vergleichen.Confirm that all of the app's files and folders are deployed by comparing the deployment on the hosting system to the contents of the project's publish folder.

Weitere Informationen über das Layout einer veröffentlichten ASP.NET Core-App finden Sie unter Verzeichnisstruktur für ASP.NET Core.For more information on the layout of a published ASP.NET Core app, see Verzeichnisstruktur für ASP.NET Core. Weitere Informationen zur Datei web.config finden Sie unter ASP.NET Core-Modul.For more information on the web.config file, see ASP.NET Core-Modul.

500: Interner Serverfehler500 Internal Server Error

Die App wird gestartet, aber ein Fehler verhindert, dass der Server auf die Anforderung eingeht.The app starts, but an error prevents the server from fulfilling the request.

Dieser Fehler tritt im Code der App während des Starts oder bei der Erstellung einer Antwort auf.This error occurs within the app's code during startup or while creating a response. Die Antwort enthält möglicherweise keinen Inhalt oder die Antwort wird als 500: Interner Serverfehler im Browser angezeigt.The response may contain no content, or the response may appear as a 500 Internal Server Error in the browser. Das Anwendungsereignisprotokoll gibt normalerweise an, dass die Anwendung normal gestartet wurde.The Application Event Log usually states that the app started normally. Aus Sicht des Servers ist dies richtig.From the server's perspective, that's correct. Die App wurde gestartet, aber sie kann keine gültige Antwort generieren.The app did start, but it can't generate a valid response. Führen Sie die App in einer Eingabeaufforderung auf dem Server aus oder aktivieren Sie das stdout-Protokoll des ASP.NET Core-Moduls, um das Problem zu beheben.Run the app at a command prompt on the server or enable the ASP.NET Core Module stdout log to troubleshoot the problem.

502.5: Prozessfehler502.5 Process Failure

Der Workerprozess schlägt fehl.The worker process fails. Die App wird nicht gestartet.The app doesn't start.

Das ASP.NET Core-Modul kann den Workerprozess nicht starten.The ASP.NET Core Module attempts to start the worker process but it fails to start. Die Ursache für einen Fehler beim Starten eines Prozesses kann in der Regel über Einträge im Anwendungsereignisprotokoll und im stdout-Protokoll des ASP.NET Core-Moduls ermittelt werden.The cause of a process startup failure can usually be determined from entries in the Application Event Log and the ASP.NET Core Module stdout log.

Eine allgemeine Fehlerbedingung ist, dass die App aufgrund einer Version des freigegebenen ASP.NET Core-Frameworks falsch konfiguriert ist, die nicht vorhanden ist.A common failure condition is the app is misconfigured due to targeting a version of the ASP.NET Core shared framework that isn't present. Überprüfen Sie, welche Versionen des freigegebenen ASP.NET Core-Frameworks auf dem Zielcomputer installiert sind.Check which versions of the ASP.NET Core shared framework are installed on the target machine. Das freigegebene Framework ist der Satz der Assemblys (DLL-Dateien), die auf dem Computer installiert werden und auf die ein Metapaket wie Microsoft.AspNetCore.App verweist.The shared framework is the set of assemblies (.dll files) that are installed on the machine and referenced by a metapackage such as Microsoft.AspNetCore.App. Der Metapaketverweis kann eine mindestens erforderliche Version angeben.The metapackage reference can specify a minimum required version. Weitere Informationen finden Sie unter The shared framework (Das freigegebene Framework).For more information, see The shared framework.

Die Fehlerseite 502.5: Prozessfehler wird zurückgegeben, wenn ein falsch konfiguriertes Hosting oder eine falsch konfigurierte App bewirkt, dass der Workerprozess fehlschlägt:The 502.5 Process Failure error page is returned when a hosting or app misconfiguration causes the worker process to fail:

Fehler beim Starten der Anwendung (ErrorCode 0x800700c1)Failed to start application (ErrorCode '0x800700c1')

EventID: 1010
Source: IIS AspNetCore Module V2
Failed to start application '/LM/W3SVC/6/ROOT/', ErrorCode '0x800700c1'.

Die App konnte nicht gestartet werden, weil die Assembly der App ( .dll) nicht geladen werden konnte.The app failed to start because the app's assembly (.dll) couldn't be loaded.

Dieser Fehler tritt bei einem Bitanzahlkonflikt zwischen der veröffentlichten App und dem w3wp/iisexpress-Prozess auf.This error occurs when there's a bitness mismatch between the published app and the w3wp/iisexpress process.

Überprüfen Sie, ob die 32-Bit-Einstellung des Anwendungspools korrekt ist:Confirm that the app pool's 32-bit setting is correct:

  1. Wählen Sie im IIS-Manager unter Anwendungspools den Anwendungspool aus.Select the app pool in IIS Manager's Application Pools.
  2. Wählen Sie im Bereich Aktionen unter Anwendungspool bearbeiten Erweiterte Einstellungen aus.Select Advanced Settings under Edit Application Pool in the Actions panel.
  3. Wählen Sie 32-Bit-Anwendungen aktivieren aus:Set Enable 32-Bit Applications:
    • Wenn Sie eine 32-Bit-(x86)-App bereitstellen, legen Sie den Wert auf True fest.If deploying a 32-bit (x86) app, set the value to True.
    • Wenn Sie eine 64-Bit-(x64)-App bereitstellen, legen Sie den Wert auf False fest.If deploying a 64-bit (x64) app, set the value to False.

Bestätigen Sie, dass es keinen Konflikt zwischen einer <Platform> MSBuild-Eigenschaft in der Projektdatei und der veröffentlichten Bitanzahl der App gibt.Confirm that there isn't a conflict between a <Platform> MSBuild property in the project file and the published bitness of the app.

VerbindungszurücksetzungConnection reset

Falls ein Fehler auftritt, nachdem die Header gesendet wurden, ist es zu spät für den Server, einen 500: Interner Serverfehler zu senden, wenn ein Fehler auftritt.If an error occurs after the headers are sent, it's too late for the server to send a 500 Internal Server Error when an error occurs. Dies ist häufig der Fall, wenn während der Serialisierung komplexer Objekte für eine Antwort ein Fehler auftritt.This often happens when an error occurs during the serialization of complex objects for a response. Diese Art von Fehler wird angezeigt, wenn ein Verbindungszurücksetzungsfehler auf dem Client auftritt.This type of error appears as a connection reset error on the client. Mithilfe der Anwendungsprotokollierung können diese Fehlertypen behoben werden.Application logging can help troubleshoot these types of errors.

StandardstarteinschränkungenDefault startup limits

Das ASP.NET Core-Modul wurde mit dem Standardwert 120 Sekunden für das startupTimeLimit konfiguriert.The ASP.NET Core Module is configured with a default startupTimeLimit of 120 seconds. Wenn der Standardwert beibehalten wird, dauert der Start einer App möglicherweise bis zu zwei Minuten. Erst danach kann das Modul einen Prozessfehler protokollieren.When left at the default value, an app may take up to two minutes to start before the module logs a process failure. Weitere Informationen zum Konfigurieren des Moduls finden Sie unter Attribute des aspNetCore-Elements.For information on configuring the module, see Attributes of the aspNetCore element.

Problembehandlung in Azure App ServiceTroubleshoot on Azure App Service

Wichtig

ASP.NET Core-Vorschauversion mit Azure App ServiceASP.NET Core preview releases with Azure App Service

ASP.NET Core-Vorschauversionen werden nicht standardmäßig in Azure App Service bereitgestellt.ASP.NET Core preview releases aren't deployed to Azure App Service by default. Weitere Informationen zum Hosten einer App, die eine ASP.NET Core-Vorschauversion verwendet, finden Sie unter Deploy ASP.NET Core preview release to Azure App Service (Bereitstellen der ASP.NET Core-Vorschauversion in Azure App Service).To host an app that uses an ASP.NET Core preview release, see Deploy ASP.NET Core preview release to Azure App Service.

Anwendungsereignisprotokoll (Azure App Service)Application Event Log (Azure App Service)

Verwenden Sie das Blatt Diagnose und Problembehandlung im Azure-Portal, um auf das Anwendungsereignisprotokoll zuzugreifen:To access the Application Event Log, use the Diagnose and solve problems blade in the Azure portal:

  1. Öffnen Sie die App im Azure-Portal unter App Services.In the Azure portal, open the app in App Services.
  2. Klicken Sie auf Diagnose und Problembehandlung.Select Diagnose and solve problems.
  3. Wählen Sie die Überschrift Diagnosetools aus.Select the Diagnostic Tools heading.
  4. Klicken Sie unter Supporttools auf die Schaltfläche Anwendungsereignisse.Under Support Tools, select the Application Events button.
  5. Überprüfen Sie den letzten vom Eintrag IIS AspNetCoreModule oder IIS AspNetCoreModule V2 in der Spalte Quelle angegebenen Fehler.Examine the latest error provided by the IIS AspNetCoreModule or IIS AspNetCoreModule V2 entry in the Source column.

Anstatt das Blatt Diagnose und Problembehandlung zu verwenden, können Sie die Anwendungsereignisprotokoll-Datei auch direkt mit Kudu untersuchen:An alternative to using the Diagnose and solve problems blade is to examine the Application Event Log file directly using Kudu:

  1. Öffnen Sie Erweiterte Tools im Bereich Entwicklungstools.Open Advanced Tools in the Development Tools area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
  2. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.
  3. Öffnen Sie den Ordner LogFiles.Open the LogFiles folder.
  4. Wählen Sie den Bleistift neben der Datei eventlog.xml aus.Select the pencil icon next to the eventlog.xml file.
  5. Untersuchen Sie das Protokoll.Examine the log. Scrollen Sie zum Ende des Protokolls, um die aktuellsten Ereignisse anzuzeigen.Scroll to the bottom of the log to see the most recent events.

Führen Sie die App in der Kudu-Konsole ausRun the app in the Kudu console

Viele Startfehler erzeugen keine nützlichen Informationen im Anwendungsereignisprotokoll.Many startup errors don't produce useful information in the Application Event Log. Sie können die App in der Kudu-Remote-Ausführungskonsole ausführen, um den Fehler zu ermitteln:You can run the app in the Kudu Remote Execution Console to discover the error:

  1. Öffnen Sie Erweiterte Tools im Bereich Entwicklungstools.Open Advanced Tools in the Development Tools area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
  2. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.

Testen einer 32-Bit-App (x86)Test a 32-bit (x86) app

Aktuelles ReleaseCurrent release

  1. cd d:\home\site\wwwroot
  2. Führen Sie die App aus:Run the app:

Die Konsolenausgabe der App, die Fehler anzeigt, wird an die Kudu-Konsole weitergeleitet.The console output from the app, showing any errors, is piped to the Kudu console.

Frameworkabhängige Bereitstellung, die in einem Vorschaurelease ausgeführt wirdFramework-dependent deployment running on a preview release

Erfordert die Installation der Runtimeerweiterung für ASP.NET Core {VERSION} (x86).Requires installing the ASP.NET Core {VERSION} (x86) Runtime site extension.

  1. cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x32 ({X.Y} ist die Runtimeversion.)cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x32 ({X.Y} is the runtime version)
  2. Ausführen der App: dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dllRun the app: dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dll

Die Konsolenausgabe der App, in der alle Fehler angezeigt werden, wird per Pipe an die Kudu-Konsole weitergeleitet.The console output from the app, showing any errors, is piped to the Kudu console.

Testen einer 64-Bit-App (x64)Test a 64-bit (x64) app

Aktuelles ReleaseCurrent release

Die Konsolenausgabe der App, in der alle Fehler angezeigt werden, wird per Pipe an die Kudu-Konsole weitergeleitet.The console output from the app, showing any errors, is piped to the Kudu console.

Frameworkabhängige Bereitstellung, die in einem Vorschaurelease ausgeführt wirdFramework-dependent deployment running on a preview release

Erfordert die Installation der Runtimeerweiterung für ASP.NET Core {VERSION} (x64).Requires installing the ASP.NET Core {VERSION} (x64) Runtime site extension.

  1. cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x64 ({X.Y} ist die Runtimeversion.)cd D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x64 ({X.Y} is the runtime version)
  2. Ausführen der App: dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dllRun the app: dotnet \home\site\wwwroot\{ASSEMBLY NAME}.dll

Die Konsolenausgabe der App, die Fehler anzeigt, wird an die Kudu-Konsole weitergeleitet.The console output from the app, showing any errors, is piped to the Kudu console.

stdout-Protokoll im ASP.NET Core-Modul (Azure App Service)ASP.NET Core Module stdout log (Azure App Service)

Das stdout-Protokoll des ASP.NET Core-Moduls zeichnet häufig nützliche Fehlermeldungen auf, die nicht im Anwendungsereignisprotokoll enthalten sind.The ASP.NET Core Module stdout log often records useful error messages not found in the Application Event Log. So aktivieren Sie stdout-Protokolle und zeigen diese an:To enable and view stdout logs:

  1. Navigieren Sie zum Blatt Diagnose und Problembehandlung im Azure-Portal.Navigate to the Diagnose and solve problems blade in the Azure portal.
  2. Wählen Sie unter SELECT PROBLEM CATEGORY (PROBLEMKATEGORIE WÄHLEN) die Schaltfläche Web App Down (Web-App ausgefallen) aus.Under SELECT PROBLEM CATEGORY, select the Web App Down button.
  3. Klicken Sie unter Suggested Solutions (Vorgeschlagene Lösungen) > Enable Stdout Log Redirection (stdout-Protokollumleitung aktivieren) auf Open Kudu Console to edit Web.Config (Kudu-Konsole öffnen, um web.config zu bearbeiten).Under Suggested Solutions > Enable Stdout Log Redirection, select the button to Open Kudu Console to edit Web.Config.
  4. Öffnen Sie in der Diagnosekonsole die Ordner unter dem Pfad site > wwwroot.In the Kudu Diagnostic Console, open the folders to the path site > wwwroot. Scrollen Sie nach unten, um die Datei web.config am Ende der Liste einzublenden.Scroll down to reveal the web.config file at the bottom of the list.
  5. Klicken Sie auf den Bleistift neben der Datei web.config.Click the pencil icon next to the web.config file.
  6. Setzen Sie stdoutLogEnabled auf true, und ändern Sie den Pfad stdoutLogFile in: \\?\%home%\LogFiles\stdout.Set stdoutLogEnabled to true and change the stdoutLogFile path to: \\?\%home%\LogFiles\stdout.
  7. Wählen Sie Speichern aus, um die aktualisierte Datei web.config zu speichern.Select Save to save the updated web.config file.
  8. Führen Sie eine Anforderung an die App aus.Make a request to the app.
  9. Kehren Sie zum Azure-Portal zurück.Return to the Azure portal. Wählen Sie das Blatt Erweiterte Tools im Bereich ENTWICKLUNGSTOOLS aus.Select the Advanced Tools blade in the DEVELOPMENT TOOLS area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
  10. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.
  11. Wählen Sie den Ordner LogFiles aus.Select the LogFiles folder.
  12. Überprüfen Sie die Spalte Geändert, und wählen Sie den Bleistift aus, um das stdout-Protokoll mit dem letzten Änderungsdatum zu bearbeiten.Inspect the Modified column and select the pencil icon to edit the stdout log with the latest modification date.
  13. Wenn die Protokolldatei geöffnet wird, wird der Fehler angezeigt.When the log file opens, the error is displayed.

Deaktivieren Sie die stdout-Protokollierung, wenn die Problembehandlung abgeschlossen ist:Disable stdout logging when troubleshooting is complete:

  1. Kehren Sie in der Kudu-Diagnosekonsole zum Pfad site > wwwroot zurück, um die Datei web.config einzublenden.In the Kudu Diagnostic Console, return to the path site > wwwroot to reveal the web.config file. Öffnen Sie die Datei web.config erneut, indem Sie den Bleistift auswählen.Open the web.config file again by selecting the pencil icon.
  2. Legen Sie stdoutLogEnabled auf false fest.Set stdoutLogEnabled to false.
  3. Wählen Sie Speichern aus, um die Datei zu speichern.Select Save to save the file.

Weitere Informationen finden Sie unter ASP.NET Core-Modul.For more information, see ASP.NET Core-Modul.

Warnung

Wenn das stdout-Protokoll nicht deaktiviert wird, können App- oder Serverfehler auftreten.Failure to disable the stdout log can lead to app or server failure. Für die Protokollgröße oder die Anzahl von erstellten Protokolldateien ist kein Grenzwert festgelegt.There's no limit on log file size or the number of log files created. Verwenden Sie die stdout-Protokollierung nur für die Behandlung von App-Startproblemen.Only use stdout logging to troubleshoot app startup problems.

Verwenden Sie für die allgemeine Protokollierung in einer ASP.NET Core-App nach dem Start eine Protokollierungsbibliothek, die die Protokolldateigröße beschränkt und Protokolle rotiert.For general logging in an ASP.NET Core app after startup, use a logging library that limits log file size and rotates logs. Weitere Informationen finden Sie im Artikel zur Protokollierung von Drittanbietern.For more information, see third-party logging providers.

Langsame oder hängende App (Azure App Service)Slow or hanging app (Azure App Service)

Wenn eine App bei einer Anforderung langsam reagiert oder hängt, lesen Sie folgende Artikel:When an app responds slowly or hangs on a request, see the following articles:

ÜberwachungsblätterMonitoring blades

Überwachungsblätter bieten eine Alternative zur Problembehandlung mit den weiter oben in diesem Thema beschriebenen Methoden.Monitoring blades provide an alternative troubleshooting experience to the methods described earlier in the topic. Die Blätter können zur Diagnose von Serie 500-Fehlern verwendet werden.These blades can be used to diagnose 500-series errors.

Vergewissern Sie sich, dass ASP.NET Core-Erweiterungen installiert sind.Confirm that the ASP.NET Core Extensions are installed. Wenn die Erweiterungen nicht installiert sind, installieren Sie diese manuell:If the extensions aren't installed, install them manually:

  1. Wählen Sie im Blattabschnitt ENTWICKLUNGSTOOLS das Blatt Erweiterungen aus.In the DEVELOPMENT TOOLS blade section, select the Extensions blade.
  2. Die ASP.NET Core-Erweiterungen werden in der Liste angezeigt.The ASP.NET Core Extensions should appear in the list.
  3. Wenn die Erweiterungen nicht installiert sind, klicken Sie auf Hinzufügen.If the extensions aren't installed, select the Add button.
  4. Wählen Sie die ASP.NET Core-Erweiterungen aus der Liste.Choose the ASP.NET Core Extensions from the list.
  5. Klicken Sie auf OK, um die rechtlichen Bedingungen zu akzeptieren.Select OK to accept the legal terms.
  6. Klicken Sie auf OK auf dem Blatt Erweiterung hinzufügen.Select OK on the Add extension blade.
  7. Mit einer Popup-Informationsmeldung wird die erfolgreiche Installation der Erweiterungen angezeigt.An informational pop-up message indicates when the extensions are successfully installed.

Wenn die stdout-Protokollierung nicht aktiviert ist, gehen Sie folgendermaßen vor:If stdout logging isn't enabled, follow these steps:

  1. Wählen Sie im Azure-Portal das Blatt Erweiterte Tools im Bereich ENTWICKLUNGSTOOLS aus.In the Azure portal, select the Advanced Tools blade in the DEVELOPMENT TOOLS area. Klicken Sie auf Los→ .Select the Go→ button. Die Kudu-Konsole wird in einer neuen Browserregisterkarte oder in einem neuen Fenster geöffnet.The Kudu console opens in a new browser tab or window.
  2. Öffnen Sie mithilfe der Navigationsleiste am oberen Rand der Seite die Debugging-Konsole, und wählen Sie CMD aus.Using the navigation bar at the top of the page, open Debug console and select CMD.
  3. Öffnen Sie die Ordner unter dem Pfad site > wwwroot, und scrollen Sie nach unten, um die Datei web.config am Ende der Liste einzublenden.Open the folders to the path site > wwwroot and scroll down to reveal the web.config file at the bottom of the list.
  4. Klicken Sie auf den Bleistift neben der Datei web.config.Click the pencil icon next to the web.config file.
  5. Setzen Sie stdoutLogEnabled auf true, und ändern Sie den Pfad stdoutLogFile in: \\?\%home%\LogFiles\stdout.Set stdoutLogEnabled to true and change the stdoutLogFile path to: \\?\%home%\LogFiles\stdout.
  6. Wählen Sie Speichern aus, um die aktualisierte Datei web.config zu speichern.Select Save to save the updated web.config file.

Fahren Sie mit der Aktivierung der Diagnoseprotokollierung fort:Proceed to activate diagnostic logging:

  1. Wählen Sie im Azure-Portal das Blatt Diagnoseprotokolle aus.In the Azure portal, select the Diagnostics logs blade.
  2. Wählen Sie den Parameter On für Anwendungsprotokollierung (Dateisystem) und Detaillierte Fehlermeldungen aus.Select the On switch for Application Logging (Filesystem) and Detailed error messages. Klicken Sie auf Speichern am oberen Rand des Blatts.Select the Save button at the top of the blade.
  3. Um die Ablaufverfolgung für Anforderungsfehler, auch bekannt als Protokollierung der Anforderungsfehler-Ereignispufferung (FREB), einzuschließen, wählen Sie den Parameter On für Ablaufverfolgung für Anforderungsfehler aus.To include failed request tracing, also known as Failed Request Event Buffering (FREB) logging, select the On switch for Failed request tracing.
  4. Wählen Sie das Blatt Protokollstream aus, das direkt unter dem Blatt Diagnoseprotokolle im Portal angezeigt wird.Select the Log stream blade, which is listed immediately under the Diagnostics logs blade in the portal.
  5. Führen Sie eine Anforderung an die App aus.Make a request to the app.
  6. In den Protokollstreamdaten wird die Ursache des Fehlers angegeben.Within the log stream data, the cause of the error is indicated.

Achten Sie darauf, die stdout-Protokollierung zu deaktivieren, wenn die Problembehandlung abgeschlossen ist.Be sure to disable stdout logging when troubleshooting is complete.

So zeigen Sie die Ablaufverfolgungsprotokolle für Anforderungsfehler (FREB-Protokolle) an:To view the failed request tracing logs (FREB logs):

  1. Navigieren Sie zum Blatt Diagnose und Problembehandlung im Azure-Portal.Navigate to the Diagnose and solve problems blade in the Azure portal.
  2. Wählen Sie Failed Request Tracing Logs (Ablaufverfolgungsprotokolle für Anforderungsfehler) im Bereich SUPPORTTOOLS der Seitenleiste aus.Select Failed Request Tracing Logs from the SUPPORT TOOLS area of the sidebar.

Weitere Informationen finden Sie im Abschnitt „Failed request traces“ im Thema „Enable diagnostics logging for apps in Azure App Service“ und unter Häufig gestellte Fragen zur Anwendungsleistung von Web-Apps in Azure: Wie schalte ich die Ablaufverfolgung für Anforderungsfehler ein?See Failed request traces section of the Enable diagnostics logging for web apps in Azure App Service topic and the Application performance FAQs for Web Apps in Azure: How do I turn on failed request tracing? for more information.

Aktivieren der Diagnoseprotokollierung für Apps in Azure App Service.For more information, see Enable diagnostics logging for web apps in Azure App Service.

Warnung

Wenn das stdout-Protokoll nicht deaktiviert wird, können App- oder Serverfehler auftreten.Failure to disable the stdout log can lead to app or server failure. Für die Protokollgröße oder die Anzahl von erstellten Protokolldateien ist kein Grenzwert festgelegt.There's no limit on log file size or the number of log files created.

Verwenden Sie für die routinemäßige Protokollierung in einer ASP.NET Core-App eine Protokollierungsbibliothek, die die Protokolldateigröße beschränkt und die Protokolle rotiert.For routine logging in an ASP.NET Core app, use a logging library that limits log file size and rotates logs. Weitere Informationen finden Sie im Artikel zur Protokollierung von Drittanbietern.For more information, see third-party logging providers.

Problembehandlung bei den Internetinformationsdiensten (IIS)Troubleshoot on IIS

Anwendungsereignisprotokoll (IIS)Application Event Log (IIS)

Greifen Sie auf das Anwendungsereignisprotokoll zu:Access the Application Event Log:

  1. Öffnen Sie das Startmenü, suchen Sie nach der Ereignisanzeige, und wählen Sie dann die App Ereignisanzeige aus.Open the Start menu, search for Event Viewer, and select the Event Viewer app.
  2. Öffnen Sie unter Ereignisanzeige den Knoten Windows-Protokolle.In Event Viewer, open the Windows Logs node.
  3. Wählen Sie Anwendung aus, um das Anwendungsereignisprotokoll zu öffnen.Select Application to open the Application Event Log.
  4. Suchen Sie nach Fehlern, die mit der fehlerhaften App im Zusammenhang stehen.Search for errors associated with the failing app. Fehler weisen in der Spalte Quelle den Wert IIS AspNetCore-Modul oder IIS Express AspNetCore-Modul auf.Errors have a value of IIS AspNetCore Module or IIS Express AspNetCore Module in the Source column.

Ausführen der App in einer EingabeaufforderungRun the app at a command prompt

Viele Startfehler erzeugen keine nützlichen Informationen im Anwendungsereignisprotokoll.Many startup errors don't produce useful information in the Application Event Log. Sie können die Ursache für einige Fehler ermitteln, indem Sie die App in einer Eingabeaufforderung auf dem Hostsystem ausführen.You can find the cause of some errors by running the app at a command prompt on the hosting system.

Framework-abhängige BereitstellungFramework-dependent deployment

Wenn es sich bei der App um eine Framework-abhängige Bereitstellung handelt:If the app is a framework-dependent deployment:

  1. Navigieren Sie in einer Eingabeaufforderung zum Bereitstellungsordner und führen Sie die App aus, indem Sie die Assembly der App mit dotnet.exe ausführen.At a command prompt, navigate to the deployment folder and run the app by executing the app's assembly with dotnet.exe. Ersetzen Sie im folgenden Befehl den Namen der Assembly der App durch <assembly_name>: dotnet .\<assembly_name>.dll.In the following command, substitute the name of the app's assembly for <assembly_name>: dotnet .\<assembly_name>.dll.
  2. Die Konsolenausgabe der App, die Fehler anzeigt, wird in das Konsolenfenster geschrieben.The console output from the app, showing any errors, is written to the console window.
  3. Wenn der Fehler während einer Anforderung an die App auftritt, führen Sie eine Anforderung an den Host und Port aus, auf dem Kestrel empfangsbereit ist.If the errors occur when making a request to the app, make a request to the host and port where Kestrel listens. Führen Sie unter Verwendung der Standardhosts und -ports eine Anforderung für http://localhost:5000/ aus.Using the default host and post, make a request to http://localhost:5000/. Wenn die App normalerweise auf die Kestrel-Endpunktadresse reagiert, ist die Problemursache wahrscheinlich die Hostingkonfiguration (anstelle der App).If the app responds normally at the Kestrel endpoint address, the problem is more likely related to the hosting configuration and less likely within the app.

Eigenständige BereitstellungSelf-contained deployment

Wenn es sich bei der App um eine eigenständige Bereitstellung handelt:If the app is a self-contained deployment:

  1. Navigieren Sie in einer Eingabeaufforderung zum Bereitstellungsordner und führen Sie die ausführbaren Dateien der App aus.At a command prompt, navigate to the deployment folder and run the app's executable. Ersetzen Sie im folgenden Befehl den Namen der Assembly der App durch <assembly_name>: <assembly_name>.exe.In the following command, substitute the name of the app's assembly for <assembly_name>: <assembly_name>.exe.
  2. Die Konsolenausgabe der App, die Fehler anzeigt, wird in das Konsolenfenster geschrieben.The console output from the app, showing any errors, is written to the console window.
  3. Wenn der Fehler während einer Anforderung an die App auftritt, führen Sie eine Anforderung an den Host und Port aus, auf dem Kestrel empfangsbereit ist.If the errors occur when making a request to the app, make a request to the host and port where Kestrel listens. Führen Sie unter Verwendung der Standardhosts und -ports eine Anforderung für http://localhost:5000/ aus.Using the default host and post, make a request to http://localhost:5000/. Wenn die App normalerweise auf die Kestrel-Endpunktadresse reagiert, ist die Problemursache wahrscheinlich die Hostingkonfiguration (anstelle der App).If the app responds normally at the Kestrel endpoint address, the problem is more likely related to the hosting configuration and less likely within the app.

stdout-Protokoll des ASP.NET Core-Moduls (IIS)ASP.NET Core Module stdout log (IIS)

So aktivieren Sie stdout-Protokolle und zeigen diese an:To enable and view stdout logs:

  1. Navigieren Sie zum Bereitstellungsordner der Website auf dem Hostsystem.Navigate to the site's deployment folder on the hosting system.
  2. Erstellen Sie den Ordner logs, wenn dieser nicht vorhanden ist.If the logs folder isn't present, create the folder. Anweisungen zum Aktivieren von MSBuild für die automatische Erstellung des Ordners logs in der Bereitstellung finden Sie im Thema Verzeichnisstruktur.For instructions on how to enable MSBuild to create the logs folder in the deployment automatically, see the Directory structure topic.
  3. Bearbeiten Sie die Datei web.config.Edit the web.config file. Legen Sie stdoutLogEnabled auf true fest, und ändern Sie den Pfad von stdoutLogFile so, dass auf den Ordner logs verwiesen wird (Beispiel: .\logs\stdout).Set stdoutLogEnabled to true and change the stdoutLogFile path to point to the logs folder (for example, .\logs\stdout). stdout im Pfad ist das Präfix des Protokolldateinamens.stdout in the path is the log file name prefix. Ein Zeitstempel, eine Prozess-ID und eine Dateierweiterung werden bei der Protokollerstellung automatisch hinzugefügt.A timestamp, process id, and file extension are added automatically when the log is created. Mit stdout als Präfix des Dateinamens wird eine typische Protokolldatei als stdout_20180205184032_5412.log benannt.Using stdout as the file name prefix, a typical log file is named stdout_20180205184032_5412.log.
  4. Stellen Sie sicher, dass die Identität des Anwendungspools über Schreibberechtigungen für den Ordner Protokolle verfügt.Ensure your application pool's identity has write permissions to the logs folder.
  5. Speichern Sie die aktualisierte Datei web.config.Save the updated web.config file.
  6. Führen Sie eine Anforderung an die App aus.Make a request to the app.
  7. Navigieren Sie zu dem Ordner logs.Navigate to the logs folder. Suchen und öffnen Sie das aktuelle stdout-Protokoll.Find and open the most recent stdout log.
  8. Untersuchen Sie das Protokoll auf Fehler.Study the log for errors.

Deaktivieren Sie die stdout-Protokollierung, wenn die Problembehandlung abgeschlossen ist:Disable stdout logging when troubleshooting is complete:

  1. Bearbeiten Sie die Datei web.config.Edit the web.config file.
  2. Legen Sie stdoutLogEnabled auf false fest.Set stdoutLogEnabled to false.
  3. Speichern Sie die Datei.Save the file.

Weitere Informationen finden Sie unter ASP.NET Core-Modul.For more information, see ASP.NET Core-Modul.

Warnung

Wenn das stdout-Protokoll nicht deaktiviert wird, können App- oder Serverfehler auftreten.Failure to disable the stdout log can lead to app or server failure. Für die Protokollgröße oder die Anzahl von erstellten Protokolldateien ist kein Grenzwert festgelegt.There's no limit on log file size or the number of log files created.

Verwenden Sie für die routinemäßige Protokollierung in einer ASP.NET Core-App eine Protokollierungsbibliothek, die die Protokolldateigröße beschränkt und die Protokolle rotiert.For routine logging in an ASP.NET Core app, use a logging library that limits log file size and rotates logs. Weitere Informationen finden Sie im Artikel zur Protokollierung von Drittanbietern.For more information, see third-party logging providers.

Aktivieren der Seite mit Ausnahmen für EntwicklerEnable the Developer Exception Page

Die ASPNETCORE_ENVIRONMENT Umgebungsvariable kann zur Datei web.config hinzugefügt werden, um die App in der Entwicklungsumgebung auszuführen.The ASPNETCORE_ENVIRONMENT environment variable can be added to web.config to run the app in the Development environment. Solange die Umgebung nicht beim Starten der App von UseEnvironment im Host-Builder außer Kraft gesetzt wird, kann die Seite mit Ausnahmen für Entwickler durch Festlegen der Umgebungsvariable angezeigt werden, wenn die App ausgeführt wird.As long as the environment isn't overridden in app startup by UseEnvironment on the host builder, setting the environment variable allows the Developer Exception Page to appear when the app is run.

<aspNetCore processPath="dotnet"
      arguments=".\MyApp.dll"
      stdoutLogEnabled="false"
      stdoutLogFile=".\logs\stdout">
  <environmentVariables>
    <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
  </environmentVariables>
</aspNetCore>

Das Festlegen der Umgebungsvariablen für ASPNETCORE_ENVIRONMENT wird nur bei der Verwendung von Staging- und Testservern empfohlen, die nicht für das Internet verfügbar gemacht werden.Setting the environment variable for ASPNETCORE_ENVIRONMENT is only recommended for use on staging and testing servers that aren't exposed to the Internet. Entfernen Sie nach der Fehlerbehebung die Umgebungsvariable aus der Datei web.config.Remove the environment variable from the web.config file after troubleshooting. Informationen zum Festlegen von Umgebungsvariablen in der Datei web.config finden Sie unter Untergeordnetes environmentVariables-Element von aspNetCore.For information on setting environment variables in web.config, see environmentVariables child element of aspNetCore.

Abrufen von Daten aus einer AppObtain data from an app

Wenn eine App in der Lage sind, auf Anforderungen zu reagieren, erhalten Sie Anforderungen, Verbindungen und zusätzliche Daten von den Apps über die Inlinemiddleware des Terminals.If an app is capable of responding to requests, obtain request, connection, and additional data from the app using terminal inline middleware. Weitere Informationen und Beispielcode finden Sie unter Problembehandlung und Debuggen von ASP.NET Core-Projekten.For more information and sample code, see Problembehandlung und Debuggen von ASP.NET Core-Projekten.

Langsame oder hängende App (IIS)Slow or hanging app (IIS)

Ein Absturzabbild ist eine Momentaufnahme des Systemarbeitsspeichers, die Ihnen dabei behilflich sein kann, die Ursache eines App-Absturzes, eines Startfehlers oder einer langsamen App zu ermitteln.A crash dump is a snapshot of the system's memory and can help determine the cause of an app crash, startup failure, or slow app.

App stürzt ab, oder es tritt eine Ausnahme aufApp crashes or encounters an exception

Abrufen und Analysieren eines Speicherabbilds aus der Windows-Fehlerberichterstattung (WER):Obtain and analyze a dump from Windows Error Reporting (WER):

  1. Erstellen Sie einen Ordner zum Speichern von Absturzabbilddateien unter c:\dumps.Create a folder to hold crash dump files at c:\dumps. Der App-Pool muss über Schreibzugriff auf den Ordner verfügen.The app pool must have write access to the folder.

  2. Führen Sie das PowerShell-Skript „EnableDumps“ aus:Run the EnableDumps PowerShell script:

  3. Führen Sie die App unter den Bedingungen aus, die dazu führen, dass der Absturz auftritt.Run the app under the conditions that cause the crash to occur.

  4. Nachdem der Absturz stattgefunden hat, führen Sie das PowerShell-Skript „DisableDumps“ aus:After the crash has occurred, run the DisableDumps PowerShell script:

Nachdem eine Anwendung abgestürzt ist und die Absturzabbildsammlung abgeschlossen ist, kann die App ordnungsgemäß beendet werden.After an app crashes and dump collection is complete, the app is allowed to terminate normally. Das PowerShell-Skript konfiguriert WER für die Erfassung von bis zu fünf Absturzabbildern pro App.The PowerShell script configures WER to collect up to five dumps per app.

Warnung

Absturzabbilder können eine große Menge Speicherplatz in Anspruch nehmen (jeweils bis zu mehreren GB).Crash dumps might take up a large amount of disk space (up to several gigabytes each).

App hat sich aufgehängt, es tritt ein Fehler während des Starts auf, oder sie wird normal ausgeführtApp hangs, fails during startup, or runs normally

Wenn sich eine App aufgehängt hat (nicht mehr reagiert, aber nicht abstürzt), ein Fehler während des Starts auftritt bzw. die App normal ausgeführt wird, finden Sie weitere Informationen unter Benutzermodus-Absturzabbilddateien: Auswählen des besten Tools, um ein geeignetes Tool zum Generieren des Speicherabbilds auszuwählen.When an app hangs (stops responding but doesn't crash), fails during startup, or runs normally, see User-Mode Dump Files: Choosing the Best Tool to select an appropriate tool to produce the dump.

Analysieren des SpeicherabbildsAnalyze the dump

Ein Speicherabbild kann mithilfe mehrerer Ansätze analysiert werden.A dump can be analyzed using several approaches. Weitere Informationen finden Sie unter Analysieren einer Benutzermodus-Speicherabbilddatei.For more information, see Analyzing a User-Mode Dump File.

Bereinigen der PaketcachesClear package caches

Eine funktionsfähige App kann direkt nach der Durchführung eines Upgrades für das .NET Core SDK auf dem Entwicklungscomputer oder einer Änderung der Paketversionen in der App fehlschlagen.A functioning app may fail immediately after upgrading either the .NET Core SDK on the development machine or changing package versions within the app. In einigen Fällen können inkohärente Pakete eine App beschädigen, wenn größere Upgrades durchgeführt werden.In some cases, incoherent packages may break an app when performing major upgrades. Die meisten dieser Probleme können durch Befolgung der folgenden Anweisungen behoben werden:Most of these issues can be fixed by following these instructions:

  1. Löschen Sie die Ordner bin und obj.Delete the bin and obj folders.

  2. Bereinigen Sie die Paketcaches, indem Sie dotnet nuget locals all --clear über eine Befehlsshell ausführen.Clear the package caches by executing dotnet nuget locals all --clear from a command shell.

    Sie können die Paketcaches auch mit dem Tool nuget.exe und dem Befehl nuget locals all -clear bereinigen.Clearing package caches can also be accomplished with the nuget.exe tool and executing the command nuget locals all -clear. nuget.exe ist wird unter dem Windows Desktop-Betriebssystem nicht gebündelt installiert und muss separat von der NuGet-Website abgerufen werden.nuget.exe isn't a bundled install with the Windows desktop operating system and must be obtained separately from the NuGet website.

  3. Stellen Sie das Projekt wieder her und erstellen Sie es neu.Restore and rebuild the project.

  4. Löschen Sie alle Dateien im Bereitstellungsordner auf dem Server, bevor Sie die App noch mal bereitstellen.Delete all of the files in the deployment folder on the server prior to redeploying the app.

Zusätzliche RessourcenAdditional resources

Azure-DokumentationAzure documentation

Visual Studio-DokumentationVisual Studio documentation

Dokumentation zu Visual Studio CodeVisual Studio Code documentation