500.30 🟪 .NET

HTTP Error 500.30 - ASP.NET Core app failed to start

IIS/Azure’s ASP.NET Core Module launched your app but it crashed during startup.

Seen on: .NET Azure Windows

Meaning

The real exception happened in Program.cs / startup — missing configuration, a bad connection string, a missing runtime, or a DI registration failure. 500.30 only tells you that startup failed; the event log or stdout log tells you why.

Common causes

  • Exception in startup (missing config value, invalid connection string, failed migration)
  • Wrong .NET runtime / hosting bundle not installed
  • Missing environment variables or appsettings in production
  • Unresolvable DI service at startup
  • File permission problems for the app pool identity

⚡ Quick fix

  1. Enable stdout logging in web.config and read the log
  2. Run the app from the publish folder: dotnet MyApp.dll to see the exception
  3. Install the matching ASP.NET Core Hosting Bundle
  4. Check Event Viewer → Application (IIS AspNetCore Module V2)

Detailed fix by platform

.NET

  1. Turn on stdout logs (web.config) temporarily:
    xml
    <aspNetCore processPath="dotnet" arguments=".\MyApp.dll"
                stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />

Azure

  1. App Service: Diagnose and solve problems → “Application Event Logs”, or set ASPNETCORE_DETAILEDERRORS=true briefly in a non-production slot.

How to diagnose

  1. Startup exception — What does stdout/event log show?
  2. Runtime — Hosting bundle / runtime version installed?
  3. Config — All settings and connection strings present?

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.