I'm having issues deploying .NET Core applications to IIS on a Windows 10 machine.
When I deploy to IIS and navigate to the site I recieve the message:
"HTTP Error 500.31 - Failed to load ASP.NET Core runtime
Common solutions to this issue:
The specified version of Microsoft.NetCore.App or Microsoft.AspNetCore.App was not found.
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=2028526
In my event viewer, every call to the page generates 3 error messages.
Unable to locate application dependencies. Ensure that the versions of Microsoft.NetCore.App and Microsoft.AspNetCore.App targeted by the application are installed.
Could not find 'aspnetcorev2_inprocess.dll'. Exception message:
Failed to start application '/LM/W3SVC/4/ROOT', ErrorCode '0x8000ffff'.
On these alone, I'd go down the rabbit hole of thinking there's some issue in the build of the project or perhaps my installation of some .NET Core package except:
I think there must be some issue with how I've configured IIS, the sites, or the application pools, but as best I can tell there isn't any difference. If anyone has encountered this, I'm all ears for suggestions.
'HTTP Error 500.31 - Failed to load ASP.NET Core runtime' Error when Opening Xtraction. This is because the . NET Core 5. x runtime is not installed.
You can see both the SDK versions and runtime versions with the command dotnet --info .
Updating the extension to the current latest version that is v 6.0. 2 fixed the issue.
In my case, the target machine was missing the ASP.NET Core runtime itself.
Issue is resolved after installing the Hosting Bundle from .Net Core 3.1
I was getting the same error messages for a new .NET Core 3.1 framework-dependent web app on an IIS server which was already hosting other .NET Core 3.1 framework-dependent web apps with no problem. The messages in Event Viewer were slightly different; but also very hard to find - sometimes I couldn't see any events which seemed to relate.
If I converted the site to stand-alone "win-x86", it worked; but stand-alone "win-x64" didn't work.
After days of...
dotnet --info
on the IIS server,dotnet --info
on the build server,...this turned out to be an AppPool setting.
In the AppPool's Advanced Settings, there is an "Enable 32-Bit Applications" setting, which IIS considers the default to be False; but on mine was True. Toggling this setting caused the site to work and fail, when False and True, respectively.
It had been set to True on my site because we use octopusdeploy to deploy our site, and the "IIS AppPool – Create" step has an option relating to this setting; but in Octopus, the default value is True, so this needed turning off.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With