HTTP Error 500.30 - ASP.NET Core app failed to start - Solution How to fix the HTTP Error 500.30 - ASP.NET Core app failed to start when publishing an ASP.NET Core Web Application to IIS

IIS URL Rewrite: redirect di più nomi di dominio su un singolo hostname

If you've stumbled upon this post, it most likely means that you've just published a new ASP.NET Core Web Application on a Windows web server using Internet Information Services (IIS) and you've got the following HTTP error 500.30 when trying to execute it:

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

Common solutions to this issue:
- The app failed to start
- The app started but then stopped
- The app started but threw an exception during startup

Troubleshooting steps:
- Check the system event log for error messages
- Enable logging the application process' stdout messages
- Attach a debugger to the application process and inspect

For more information visit: https://go.microsoft.com/fwlink/?LinkID=2028265

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

If we follow the Microsoft link  we can see how such error happens when the worker process fails: the ASP.NET Core Module attempts to start the .NET Core CLR in-process, but it fails to start, thus preventing the app from running.

Unfortunately, the cause of a process startup failure might be due to a number of different reasons: the Microsoft guide suggest to look in the Application Event Log and/or in the ASP.NET Core Module stdout log, which will likely report some useful information regarding the problem. However, the most common failure conditions are: 

  • ASP.NET Core framework (or Hosting Bundle) is not present. Check if the proper version of the ASP.NET Core Hosting Bundle is installed on the target machine (and install it if it's missing).
  • Azure Key Vault lack of permissions. If you're using the Azure Key Vault, check the access policies in the targeted Key Vault to ensure that the correct permissions are granted.

Furthermore, there's an additional common cause of HTTP Error 500.30 which is not covered by the Microsoft guide: the wrong CPU architecture configured in the IIS Application Pool. Such error happens when you deploy a win-x64 app and try to have it published using a IIS Application Pool that supports 32-bit apps (and vice-versa). To fix that, you just have to change the IIS Application Pool configuration from the IIS Manager tool in the following way:

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

In the above example, we're changing the IIS Application Pool from 32-bit to 64-bit, which is required if we need to publish a win-64 app.

Conclusion

That's it, at least for now: we hope that this informative post can help other ASP.NET Core Developers and System Administrators stuck with the HTTP Error 500.30 when trying to deploy their ASP.NET Core Web Application on a Windows-IIS web server. This solution has also been shared in the following StackOverflow thread.

 

About Ryan

IT Project Manager, Web Interface Architect and Lead Developer for many high-traffic web sites & services hosted in Italy and Europe. Since 2010 it's also a lead designer for many App and games for Android, iOS and Windows Phone mobile devices for a number of italian companies. Microsoft MVP for Development Technologies since 2018.

View all posts by Ryan

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.