I've got a .net core API created in Visual Studio 2017 that's working fine. When I go to deploy it I get error message HTTP Error 500.19 with error code 0x8007000d. I've found multiple solutions online such as making sure windows features are installed, removing the .net CLR version, changing the application pool identity, changes to web.config and applicationHost.config, but nothing has worked. Is there a way to definitively find what the problem is or am I stuck doing trial and error with the myriad of possible solutions? Any specific solutions you know of?
Here are screenshots of the IIS settings and my Windows features:
Here's my web.config file:
<?xml version="1.0" encoding="utf-8"?> <configuration> <!-- Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380 --> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> </handlers> <aspNetCore processPath="dotnet" arguments=".\DishbooksAPI.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" /> </system.webServer> </configuration>
Here's the IIS error:
Some stackoverflow pages I've tried (this is not an exhaustive list):
HTTP Error 500.19 when publish .net core project into iis
HTTP Error 500.19 with Error Code 0x8007000d visual studio 2017 while deploying .net core application
ASP.NET: HTTP Error 500.19 – Internal Server Error 0x8007000d
HTTP Error 500.19 - Internal Server Error web config .net core web api
asp.net core web api published in IIS after moved to different IIS server pc gives error 500.19
First of all, you need to install ASP.NET Core Module in web server. Here is the download link.
Then install either SDK or Runtime in web server.
If it still doesn't work, open a command prompt. Navigate to the web application folder and type
dotnet YOUR_APP.dll. You should see something like this -
C:\APIs> dotnet YOUR_APP.dll Hosting environment: Production Content root path: C:\APIs Now listening on: http://localhost:5000 Application started: Press Ctrl+C to shut down.
It means your application can run in the web server without IIS. Then you need to trouble shoot in IIS or some other things.
You would need the hosting bundle to be installed on IIS
Why Hosting bundle is needed? Check following article https://dotnetcoretutorials.com/2019/12/23/hosting-an-asp-net-core-web-application-in-iis/
How to check if hosting is installed? How to determine if asp.net core has been installed on a windows server
User contributions licensed under CC BY-SA 3.0