HTTP Error 500.31 - Failed to load ASP.NET Core runtime

2

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.

  1. Unable to locate application dependencies. Ensure that the versions of Microsoft.NetCore.App and Microsoft.AspNetCore.App targeted by the application are installed.

  2. Could not find 'aspnetcorev2_inprocess.dll'. Exception message:

  3. 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:

  1. I have two other .NET Core 3.1 sites running at different ports. In fact, if I copy the files from the directory of a working site, to the directory of a non-working site they will not run through IIS. If I copy files from the directory of a non-working site, to a working site, those files will run through IIS.
  2. If I click on the executable for any of the sites and navigate to the specified localhost, they open up in a web browser just fine.
  3. I can run all manner of framework-dependent and Self-Contained .Net Core 3.1 and .Net Core 5.0 console apps anywhere on the same system.
  4. The two sites that do work, showed the same error message the first time I went to publish. I tried adjusting settings, reinstalling runtimes and the like but failed to isolate anything that caused them to start running a few hours after the first attempt at deployment.
  5. There is no visibile difference in settings in the Application Pool or the sites themselves between the sites that work and the sites that don't.

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.

c#
asp.net-core
iis
asked on Stack Overflow Dec 16, 2020 by Vinnie Fusca • edited Dec 16, 2020 by dbc

2 Answers

1

Using the tool suggested (and created) by @LexLi I was able to determine the issue was caused by the application pool not having permissions to the site folder. Giving it permissions fixed the issue. This was not clear from the error messages. Answered here in case anyone else experiences the same error message.

answered on Stack Overflow Dec 16, 2020 by Vinnie Fusca
1

In my case, the target machine was missing the ASP.NET Core runtime itself.

Issue is resolved after installing the Hosting Bundle from https://dotnet.microsoft.com/download/dotnet-core/3.1

answered on Stack Overflow Feb 17, 2021 by Alex Monkey

User contributions licensed under CC BY-SA 3.0