一、安裝IIS 這裏就不詳說了html
二、安裝 WindowsHosting服務器
ASP.NET Core與經典ASP.NET應用程序徹底不一樣,它並非運行在IIS的工做進程中,而是獨立運行的。它獨立運行在控制檯應用程序中,並經過dotnet運行時命令調用。它並無被加載到IIS工做進程中,可是IIS卻加載了名爲AspNetCoreModule的本地Module,這個Module用於執行外部的控制檯程序。
AspNetCoreModule是做爲ASP.NET Core Server Hosting Bundle的一部分被安裝在服務器上的。.NET Core Windows Server Hostingapp
安裝完以後IIS 的模塊裏會出現 AspNetCoreModuleui
三、IIS裏建立站點,站點綁定的應用程序池設置爲「無託管代碼」spa
這裏IIS站點(虛擬目錄)仍然須要配一個IIS應用程序池,不過這個應用程序池應當使用No Managed Code。這裏應用程序池僅僅做爲前置代理接受請求,因此它不用實例化.NET運行了。代理
四、VS 裏在Properties下新建文件夾PublishProfiles ,再新建文件<Project>.pubxmlorm
<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>
這樣在項目的發佈裏可看到以下配置,可繼續設置對應值xml
DeployIisAppPath,MSDeployServiceURL,SiteUrlToLaunchAfterPublish設置成對應值便可htm
點擊發布,便可使用IIS訪問blog
問題:這種狀況只能發佈以後IIS纔會生效,不是編譯以後當即生效
附官網說明:https://docs.microsoft.com/en-us/aspnet/core/publishing/iis
2017-04-14