If you simply try something like I already explained here, it will not work, you will receive the error:

Server Error in '/' Application.

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: An error occurred loading a configuration file: Failed to start monitoring changes to 'C:\Users\pera\Documents\Visual Studio 2017\Projects\WebApplication1\WebApplication1' because access is denied.

Source Error:

[No relevant source lines]

Source File: C:\Users\pera\Documents\Visual Studio 2017\Projects\WebApplication1\WebApplication1\web.config Line: 0

In the article "Host ASP.NET Core on Windows with IIS" it is explained how to publish Asp.Net core to IIS. Here are my short notes.

First install .NET Core Hosting Bundle. If you simply publish web site without installation you will receive error:

HTTP Error 500.19 - Internal Server Error

The requested page cannot be accessed because the related configuration data for the page is invalid.

Detailed Error Information:
Module IIS Web Core
Notification Unknown
Handler Not yet determined
Error Code 0x8007000d
Config Error
Config File \\?\C:\projects\dotNet\asp.net\core\web.config
Requested URL http://test:2020/
Physical Path
Logon Method Not yet determined
Logon User Not yet determined

Config Source:
-1:
0:

More Information:
This error occurs when there is a problem reading the configuration file for the Web server or Web application. In some cases, the event logs may contain more information about what caused this error.
View more information ยป

If you receive error like:

HTTP Error 500.21 - Internal Server Error

Handler "aspNetCore" has a bad module "AspNetCoreModule" in its module list

Then you have to change AspNetCoreModule in IIS.

Open Modules in IIS:

Either add AspNetCoreModuleV2 with code %ProgramFiles%\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll or change existing one:

Then go to "Handler Mappings", and change aspNetCore to "AspNetCoreModuleV2":