【c#】 Web Deploy一键发布,IIS部署全流程

发布时间:2026/9/13 7:39:32

【c#】 Web Deploy一键发布,IIS部署全流程 项目ASP.NET Core 8.0 Web API服务器阿里云 Windows Server IIS部署方式VS Web Deploy 一键发布一、前置准备1.1 本地环境项说明项目框架.NET 8.0开发工具Visual Studio发布方式Web Deploy直接推送到远程 IIS1.2 服务器环境项说明操作系统Windows Server阿里云公网 IPXXXXWeb 服务器IIS已安装1.3 代码调整Program.cs中 Swagger 原本只在开发环境启用// 修改前if(app.Environment.IsDevelopment()){app.UseSwagger();app.UseSwaggerUI();}// 修改后去掉环境判断生产也可见app.UseSwagger();app.UseSwaggerUI();二、服务器端安装与配置2.1 安装 .NET 8 Hosting Bundle下载地址https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0注意Hosting Bundle 不是独立板块它在ASP.NET Core 运行时那一行的链接里找 “Hosting Bundle” 这个小链接。安装时选最新版 8.0.29安装完成后重启 IISiisreset2.2 安装 IIS 管理服务Management ServiceWeb Deploy 需要管理服务来接收远程发布请求。Install-WindowsFeatureWeb-Mgmt-Service2.3 安装 Web Deploy下载https://www.iis.net/downloads/microsoft/web-deploy选Web Deploy 4.0安装时选择更改Change务必勾选所有子组件尤其是IIS Deployment Handler否则 msdeploy 处理器不会注册到 IIS。2.4 启用远程连接打开 IIS 管理器左侧选中服务器节点最顶层双击管理服务先点右侧停止勾选启用远程连接端口保持默认8172点右侧应用→启动2.5 放行端口Windows 防火墙添加入站规则放行 TCP 端口8172和8080站点端口。阿里云安全组在阿里云控制台 → 安全组 → 入方向规则添加端口协议用途8080TCP站点访问8172TCPWeb Deploy 远程发布2.6 创建 IIS 站点设置项值站点名称JpaasPrinter物理路径C:\inetpub\wwwroot\JpaasPrinter绑定端口8080应用程序池 .NET CLR 版本无托管代码托管管道模式集成2.7 设置文件夹权限站点物理路径如C:\inetpub\wwwroot\JpaasPrinter需要让 IIS 应用池账户读取。右键文件夹 → 属性 → 安全 → 编辑 → 添加IIS AppPool\JpaasPrinter权限勾选读取和执行、列出文件夹内容、读取。三、VS 发布配置3.1 配置发布配置文件右键项目 →发布→Web 服务器 (IIS)→Web 部署。字段填写内容服务器XXX站点名称JpaasPrinter必须和 IIS 里完全一致目标 URLhttp://XXX:8080用户名Administrator密码服务器 Administrator 密码3.2 允许不受信任的证书Windows Server 的 IIS 管理服务使用自签名证书VS 默认不信任。两种修复方式方式 A推荐编辑Properties\PublishProfiles\IISProfile.pubxml添加AllowUntrustedCertificatetrue/AllowUntrustedCertificate方式 B在 VS 发布页面 → 更多连接选项 → 勾选允许不受信任的证书。四、遇到的问题及解决问题 1找不到 Hosting Bundle 下载现象.NET 8.0 下载页面没有独立叫 “Hosting Bundle” 的板块。原因Hosting Bundle 的下载链接藏在ASP.NET Core 运行时那一行的小字链接里。解决展开某个版本号在ASP.NET Core 运行时行中找到 “Hosting Bundle” 链接或直接访问https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/runtime-aspnetcore-8.0.29-windows-hosting-bundle-installer问题 2IIS 里看不到管理服务现象装了 Web Deploy 但 IIS 管理器里没有出现管理服务功能。原因管理服务Management Service是 IIS 的一个独立功能不随 Web Deploy 安装。解决Install-WindowsFeatureWeb-Mgmt-Service问题 3VS 验证连接报 404现象Web 部署任务失败。远程服务器返回了错误 (404) 未找到。原因两个可能管理服务启用远程连接没打勾Web Deploy 的 msdeploy.axd 处理器没注册到 IIS排查# 检查 WMSVC 服务和 IIS 管理服务状态Get-ServiceWMSVCGet-WindowsFeatureWeb-Mgmt-ServiceTest-NetConnection8.135.xx.xx-Port 8172# 检查 msdeploy 处理器Get-WebHandler|Where-Object{$_.Name-like*msdeploy*}解决如端口不通 → 检查防火墙和安全组如管理服务没启用 → IIS 管理器里勾选启用远程连接如处理器丢失 → 修复 Web Deploy 安装确保勾选 IIS Deployment Handler问题 4证书验证失败现象ERROR_CERTIFICATE_VALIDATION_FAILED原因IIS 管理服务使用自签名证书VS 不信任。解决在发布配置文件中添加AllowUntrustedCertificatetrue/AllowUntrustedCertificate五、发布时的行为说明文件替换机制ASP.NET Core 使用影子复制IIS 启动时会从publish目录复制文件到临时目录再执行原始文件不被锁定。发布时 Web Deploy 可以直接覆盖原始文件不会被文件使用中拦住。覆盖完成后ASP.NET Core Module 检测到文件变化自动回收旧进程用新文件重新启动。站点是否停机发布过程中站点不会主动停止。文件替换后新进程自动启动切换期间可能 1-3 秒请求失败502/503流量小的项目无需在意。六、快速参考常用命令# 重启 IISiisreset# 检查管理服务状态Get-ServiceWMSVC# 检查 IIS 站点列表Get-Website|Select-ObjectName,PhysicalPath,State# 检查端口连通性Test-NetConnection8.135.xx.xx-Port 8172Test-NetConnection8.135.xx.xx-Port 8080# 检查 Web Deploy 处理器Get-WebHandler|Where-Object{$_.Name-like*msdeploy*}端口清单端口协议用途需放行位置8080TCP网站访问阿里云安全组 Windows 防火墙8172TCPWeb Deploy 发布阿里云安全组 Windows 防火墙
延伸阅读

更多相关文章

2026/9/13 1:19:14

LangChain+LangGraph+MCP:AI Agent三层架构实战解析

1. 项目概述:AI Agent开发的三层架构革命去年在开发智能客服系统时,我尝试过直接调用大语言模型API,结果遇到了响应延迟、上下文丢失和任务连续性差等问题。直到发现了LangChainLangGraphMCP这个三层架构,才真正实现了生产级AI Ag…

2026/9/13 12:05:15

用Higgsfield从脚本到画面,商家做品牌视频省万元成本

# AI广告工作流实战:从脚本到画面用Higgsfield完成,商家也能做品牌视频,省万元成本!在数字营销时代,视频广告是品牌触达用户的核心手段,但传统制作流程往往需要专业团队、拍摄设备、后期剪辑,动…

2026/9/13 6:14:02

基于PandasAI的智能数据分析Agent:从自然语言到专业报告

智能数据分析Agent是当前AI技术在企业级应用中最具实用价值的落地项目之一。这个项目基于PandasAI开源框架,实现了从自然语言到数据分析的全流程自动化,让不懂SQL和Pandas的业务人员也能通过简单的对话完成专业级数据分析。 最值得关注的是该项目采用双…

2026/9/13 19:23:02

伺服编码器停产替代的三条实战路径

1. 这不是换零件,是给产线做一次“神经外科手术”上周五下午三点,我接到华东一家汽车零部件厂的紧急电话。他们产线上那台用了八年的德国伺服压装机突然报错——编码器信号丢失。维修师傅拆开一看,原装的Heidenhain ECN 1313-2048已经停产三年…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/13 11:18:28

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码