HTTP Error 500.19 when publish .net core project i

2019-01-27 15:49发布

问题:

I want to publish a sample .net core web application on my pc's IIS manager but I failed. I am using Microsoft guidance but it doesn't work for me, if you have reasonable experience to fix this problem I would be grateful to see your suggestions.

回答1:

The identity under which your web application runs in IIS doesn't have full access to the folder in which the web.config file is found. Which version of IIS are you using? Assuming 7, you can view/change the identity through the 'Advanced Settings' of the application pool that hosts your application. Folder permissions can be granted via Windows Explorer in the usual way.



回答2:

I was missing the AspNetCoreModule from IIS->Modules. After I installed that I no longer had the 500.19 error.

To find out more this blog was great: https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS

Here is the page from Microsoft to find the download: https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetcore2x



回答3:

You have to install the "Hosting Bundle Installer". Without this, IIS doesn't understand routing and cannot host your application.

Go to microsoft site "https://www.microsoft.com/net/download/dotnet-core/runtime-2.1.0-rc1" and install "Hosting Bundle Installer":

Before installing this you have to install the right version of runtime: https://www.microsoft.com/net/download/dotnet-core/runtime-2.1.0-rc1 Than install the right version of "Hosting Bundle Installer".

"Hosting Bundle Installer" is: .NET Core Windows Server Hosting bundle installs the .NET Core Runtime, .NET Core Library, and the ASP.NET Core Module. The module creates a reverse proxy between IIS and the Kestrel server on Windows platforms.



回答4:

Sure, you have to follow this tutorial to deploy to IIS:

https://docs.microsoft.com/en-us/aspnet/core/publishing/iis

I would suggest you to do this:

  1. Publish your web application to desktop.

  2. Copy the folder to the server.

  3. Open cmd and run cd

  4. In cmd run dotnet webapplication.dll

  5. You should see that application is run and waiting for responses on localhost:port.

  6. Open browser and navigate there. It should work.

Otherwise, you will be able to see all the errors in the cmd window.