http error 500.30 asp.net Core App Failed to Start

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 mismatchApp built for .NET 8, but server only has .NET 6 installed
2. WhatThe ASP.NET Core Hosting Bundle isn’t installed on Windows server
3. WroASPNETCORE_ENVIRONMENT set to something invalid, or missing required configuration
4. Startup exceptionProgram.cs / Startup.cs throws an exception (bad connection string, bad DI registration, etc.)
5. InApp 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\logs
    C:\Windows\System32\LogFiles\HTTPERR

  • ASP.NET Core log:
    Check stdout log — enable it by editing your web.config:

    <aspNetCore processPath="dotnet" arguments=".\YourApp.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />

    Then refresh your site and check the new log file in the logs folder.

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:

dotnet --list-runtimes

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:

iisreset

4. Verify appsettings and environment variables

Sometimes an invalid connection string or missing environment variable causes startup failure.
Try running locally on the server:

dotnet YourApp.dll

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 logs folder if you enabled logging

  • Access 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:

    dotnet publish -c Release
  • Re-copy to the server and restart IIS.


✅ Quick Summary

CheckFix
View real errorEnable stdout logs
Runtime mismatchInstall correct .NET runtime
IIS not configuredInstall Hosting Bundle
Startup code errorRun app manually and fix exception
InGrant read/write to App Pool user

Be the first to comment

Leave a Reply