.NET CORE和asp.net发布时不一样,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等)。
先摆出微软Core的官方文档对IIS支持的描述吧:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.0
首先发布项目文件,点击网站项目右键 发布:
一.Windows下部署(较比之前部署多了下载一个模块和选择无托管)
(1)安装AspNetCoreModule托管模块(已安装则跳过,选择跟创建项目时一样的版本,不然iis运行时会报.net core入门-发布及部署_异常(处理程序“aspNetCore”在其模块列表中有一个错误模块“AspNetCoreModuleV2")处理) 这个错 https://dotnet.microsoft.com/download/dotnet-core
(2)安装之后在模块里可以找到AspNetCoreModule就说明成功了(如果你看不到 AspNetCoreModule , 运行肯定就是有问题的)
一、这里是开发环境:
https://www.microsoft.com/net/download/windows
目前 Windows 64 bit 下最新的是:
https://download.microsoft.com/download/8/8/5/88544F33-836A-49A5-8B67-451C24709A8F/dotnet-sdk-2.1.300-win-x64.exe
安装之后
应用程序池配置:.NET CLR版本选择无托管代码 ,托管管道模式选择集成。
发布成功后,选择网站,浏览,如成功则显示刚刚发布的网站。