1.修改项目代码Program.cs文件
替换为如下内容:
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
同时,作为在IIS上运行Web应用必不可少的一环,要给此程序添加一个web.config文件
默认内容如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" startupTimeLimit="3600" requestTimeout="23:00:00" />
</system.webServer>
</configuration>
2. 生成项目之后进行发布
右键项目,选择发布:
选择IIS、FTP模式,点击发布
发布方法选择文件系统,并制定好路径,不存在会自动创建
最后,点击保存,在下方输出窗口可以看到此次发布结果
3.将发布的应用程序部署在IIS上
首先,选择IIS根目录,点击模块
可见,在列表中并没有支持ASP.NET Core的AspNetCoreModule托管模块,需要手动下载
http://download.microsoft.com/download/3/8/1/381CBBF3-36DA-4983-BFF3-5881548A70BE/DotNetCore.1.0.4_1.1.1-WindowsHosting.exe
及时获取最新版本的安装包
完成安装之后,可以开始进行部署,物理路径选择刚刚发布项目的根目录
网站创建完成后,配置应用程序池为无托管代码
完成以上步骤之后,可以浏览网站
可见,基于ASP.NET Core框架的应用已经在IIS上部署成功,可以访问了