The HTTP Error 500.30 – ASP.NET Core app failed to start means that your web application did deploy and the server received the request, but the ASP.NET Core runtime couldn’t launch your app process.
This usually happens with IIS, Azure App Service, or Kestrel when there’s a startup or configuration issue. Let’s walk through how to fix it step-by-step 👇
⚙️ Common Causes
Type | Example Problem |
|---|---|
| 1. Runtime mismatch | App built for .NET 8, but server only has .NET 6 installed |
| 2. What | The ASP.NET Core Hosting Bundle isn’t installed on Windows server |
| 3. Wro | ASPNETCORE_ENVIRONMENT set to something invalid, or missing required configuration |
| 4. Startup exception | Program.cs / Startup.cs throws an exception (bad connection string, bad DI registration, etc.) |
| 5. In | App likeappsettings.json or access logs |
| 6. Web.config misconfiguration (IIS) | IN |
Also Read : KORD 6P67 BF6 Unlock | Key Steps
🧩 Step-by-Step Fix
1. What
The 500.30 page hides the real exception. You need to look at one of these:
Windows/IIS:
C:\ProgramData\Microsoft\IIS\logsC:\Windows\System32\LogFiles\HTTPERRASP.NET Core log:
Checkstdoutlog — enable it by editing your web.config:Then refresh your site and check the new log file in the
logsfolder.
This file will show the exact exception (for example “FileNotFoundException”, “Cannot find runtime ‘Microsoft.NETCore.App’ version”).
2. Confirm the runtime version
Run this on the server:
Make sure it lists the same runtime your app targets (for example Microsoft.AspNetCore.App 8.0.0).
If not — install it from the official .NET site:
👉 https://dotnet.microsoft.com/download/dotnet
3. Check Hosting Bundle (for IIS)
If you’re hosting on IIS and using dotnet to launch the app, you must install the ASP.NET Core Hosting Bundle for your .NET version.
Download from Microsoft:
.NET 8 Hosting Bundle
.NET 6 Hosting Bundle
Restart IIS after installing:
4. Verify appsettings and environment variables
Sometimes an invalid connection string or missing environment variable causes startup failure.
Try running locally on the server:
If it crashes, you’ll see the real exception instantly.
5. Permissions
Ensure the IIS App Pool identity (or the user running Kestrel) has permission to:
Read your app folder
Write to
logsfolder if you enabled loggingAccess any files or secrets it needs (certificates, configuration files)
6. Redeploy or rebuild
If everything else fails:
Delete the published folder on the server.
Re-publish from Visual Studio or CLI with:
Re-copy to the server and restart IIS.
✅ Quick Summary
| Check | Fix |
|---|---|
| View real error | Enable stdout logs |
| Runtime mismatch | Install correct .NET runtime |
| IIS not configured | Install Hosting Bundle |
| Startup code error | Run app manually and fix exception |
| In | Grant read/write to App Pool user |
Be the first to comment