1、安裝IIS 這里就不詳說了
2、安裝 WindowsHosting
ASP.NET Core與經典ASP.NET應用程序完全不同,它並不是運行在IIS的工作進程中,而是獨立運行的。它獨立運行在控制台應用程序中,並通過dotnet運行時命令調用。它並沒有被加載到IIS工作進程中,但是IIS卻加載了名為AspNetCoreModule的本地Module,這個Module用於執行外部的控制台程序。
AspNetCoreModule是作為ASP.NET Core Server Hosting Bundle的一部分被安裝在服務器上的。.NET Core Windows Server Hosting
安裝完之后IIS 的模塊里會出現 AspNetCoreModule

3、IIS里創建站點,站點綁定的應用程序池設置為“無托管代碼”
這里IIS站點(虛擬目錄)仍然需要配一個IIS應用程序池,不過這個應用程序池應當使用No Managed Code。這里應用程序池僅僅作為前置代理接受請求,所以它不用實例化.NET運行了。

4、VS 里在Properties下新建文件夾PublishProfiles ,再新建文件<Project>.pubxml
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>http://www.MyNETCore.com/FirstNetCore/</SiteUrlToLaunchAfterPublish>
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<PublishFramework>netcoreapp1.1</PublishFramework>
<UsePowerShell>True</UsePowerShell>
<EnableMSDeployAppOffline>True</EnableMSDeployAppOffline>
<MSDeployServiceURL></MSDeployServiceURL>
<DeployIisAppPath>NetCore/FirstNetCore</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>InProc</MSDeployPublishMethod>
<EnableMSDeployBackup>False</EnableMSDeployBackup>
<UserName>username</UserName>
<_SavePWD>True</_SavePWD>
<ADUsesOwinOrOpenIdConnect>False</ADUsesOwinOrOpenIdConnect>
<AuthType>NTLM</AuthType>
<ProjectGuid>a03b5ea4-f1d5-4626-8403-c3e1ce66918d</ProjectGuid>
</PropertyGroup>
</Project>
這樣在項目的發布里可看到如下配置,可繼續設置對應值
DeployIisAppPath,MSDeployServiceURL,SiteUrlToLaunchAfterPublish設置成對應值即可

點擊發布,即可使用IIS訪問
問題:這種情況只能發布之后IIS才會生效,不是編譯之后立即生效
附官網說明:https://docs.microsoft.com/en-us/aspnet/core/publishing/iis
2017-04-14
