新闻中心

ASP.NET Core怎么部署到IIS ASP.NET Core发布应用程序方法

2025-12-15
浏览次数:
返回列表
ASP.NET Core 应用部署到IIS的核心是IIS通过ANCM反向代理请求至Kestrel服务器。需确保安装Hosting Bundle、正确发布应用、配置IIS站点(应用程序池设为“无托管代码”)、验证web.config生效,最后通过日志排查500.19/502.5错误。

asp.net core怎么部署到iis asp.net core发布应用程序方法

ASP.NET Core 应用部署到 IIS,核心是把它当作一个反向代理后的“独立可执行程序”来运行,IIS 本身不直接托管 .NET Core 代码,而是通过 ASP.NET Core Module(ANCM) 转发请求给后台的 Kestrel 服务器。只要环境配对、发布正确、IIS 设置到位,基本不会出问题。

一、确保服务器环境已就绪

部署前必须确认以下三项都已安装并启用:

  • Windows Server 或 Windows 10/11(支持 IIS 10+)
  • IIS 已启用:在“启用或关闭 Windows 功能”中勾选“Internet Information Services”及其子项(尤其“Web 管理工具”和“万维网服务”)
  • .NET Core 运行时(Runtime)或 托管捆绑包(Hosting Bundle)已安装 —— 推荐装 Hosting Bundle,它自动包含 Runtime + ANCM + IIS 注册逻辑,下载地址:https://www.php.cn/link/ac5a08fd81df9def6dd34354e08bc3bd

二、发布应用(推荐使用“自包含”或“框架依赖”发布)

在项目目录下执行命令行发布(或用 Visual Studio 发布向导),关键点是目标运行时和输出路径:

  • 框架依赖发布(轻量,需服务器装 Runtime):
    dotnet publish -c Release -r win-x64 --self-contained false -o ./publish
  • 自包含发布(体积大,无需服务器装 Runtime):
    dotnet publish -c Release -r win-x64 --self-contained true -o ./publish
  • 发布后检查 publish 文件夹里是否有 yourapp.dllweb.config(若没有 web.config,VS 会自动生成;如用 CLI 发布,可手动添加或用 --no-self-contained + --runtime win-x64 触发生成)

三、配置 IIS 站点与应用程序池

这是最容易出错的环节,注意细节:

Blackink AI纹身生成 Blackink AI纹身生成

创建类似纹身的设计,生成独特纹身

Blackink AI纹身生成 80 查看详情 Blackink AI纹身生成
  • 新建网站时,“物理路径”指向你发布的 publish 文件夹(不是项目根目录,也不是 bin/Debug)
  • 应用程序池 必须设为“无托管代码”(No Managed Code) —— 因为 ASP.NET Core 自己跑 Kestrel,不需要 IIS 加载 .NET Framework 或 .NET Core 托管环境
  • 确保应用程序池“启动模式”为 “始终运行”,“闲置超时”设为 0(避免冷启动延迟)
  • 检查站点绑定是否正确(如 http:80 / https:443),并确认端口未被占用

四、验证 web.config 是否生效

IIS 通过 web.config 调用 ANCM,这个文件不能少,内容应类似:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\YourApp.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>

重点字段说明:

  • processPath:一般填 dotnet(要求服务器有全局 dotnet 命令);若用自包含发布,可改为具体路径如 .\YourApp.exe
  • hostingModel:推荐 inprocess(性能更好),也可用 outofprocess(更稳定,隔离性更强)
  • stdoutLogEnabled:上线后建议开启,日志能帮你快速定位启动失败原因(比如端口冲突、缺少依赖、权限不足)

基本上就这些。部署后访问站点,如果看到 500.19 / 502.5 错误,优先查 Windows 事件查看器里的“ASP.NET Core 模块”日志,再配合 stdout 日志定位。不复杂但容易忽略细节。

以上就是ASP.NET Core怎么部署到IIS ASP.NET Core发布应用程序方法的详细内容,更多请关注其它相关文章!


# 开源  # 大足企业网站建设案例  # 营销推广方法有哪些种类  # 国产车营销推广方案  # 中文seo 阿里巴巴  # 希芸的推广营销方式  # 衡水品牌网站推广联系人  # 吕梁关键词词库优化排名  # seo排名秘籍  # 网站排名优化谁家好点  # 关键词排名-选择优加  # 这是  # 意味着什么  # 或用  # 如何选择  # windows  # 有什么区别  # 这对  # 微软  # 设为  # 应用程序  # .net  # microsoft  # win  # ai  # iis  # 工具  # 端口  # internet  # app 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: Go语言中高效处理x-www-form-urlencoded表单数据  利用5118提升短视频内容效果_5118短视频关键词优化方法  KFC游戏互动怎么赢取优惠券_KFC线上游戏活动参与与优惠代码赢取教程  Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】  4399网页游戏电脑版全新入口 4399电脑端在线玩指南  J*aScript中向JSON对象添加新属性的正确姿势  谷歌学术网站直达地址 谷歌学术搜索网页版一键进入  《铁拳8》黑皮辣妹新实机:元气满满的18岁少女!  如何将一个大型PHP应用拆分为多个Composer包_微服务与模块化架构的Composer实践  如何在J*a中使用Locale处理多语言环境  WordPress插件开发:正确注册卸载钩子与避免常见陷阱  Win10如何恢复误删的快捷方式_Win10重建常用软件快捷方式  MAC如何安全彻底地删除文件_MAC使用终端命令确保文件无法被恢复  Spring Boot嵌入式服务器与J*a EE:功能支持深度解析  天眼查怎么看公司融资情况 天眼查企业融资历史查询步骤【攻略】  钉钉视频会议画面卡顿如何解决 钉钉会议画面优化方法  MongoDB Aggregation:在嵌套对象数组中精确匹配ObjectId  J*aScript 字符串标签转换:使用正则表达式高效替换  C++的std::forward_list怎么用_C++ STL中单向链表容器的特点与应用  Safari怎么安装扩展程序 浏览器插件安装与管理方法【详解】  如何将HTML表格多行数据保存到Google Sheets  神庙逃亡小游戏在线玩 神庙逃亡小游戏入口  微信商城在哪里打开【步骤】  taptap防沉迷怎么解除 taptap解除健康系统限制说明【2025最新】  一加手机拍照效果不好怎么办 一加哈苏影像调校与专业模式使用教程【高手篇】  Lar*el Form Request中唯一性验证在更新操作中的正确实现  蛙漫官方正版入口 蛙漫网页在线全集免费观看  c++中的std::basic_string的SSO优化_c++短字符串优化深度解析  sublime如何优雅地处理行尾空格_sublime自动清理多余空白字符配置  C++如何操作注册表_Windows平台下C++读写注册表的API函数详解  Lar*el 8 多关键词数据库搜索优化实践  自定义Bag-of-Words实现:处理带负号的词汇权重  快手网页版在线登录 快手网页版官网入口快速访问  提升Kafka消费者健壮性:会话超时处理与消息处理语义  凉拌黄瓜怎么拌更入味 凉拌黄瓜简单家常做法  Lar*el递归关系中排除子孙节点的策略  深入理解Google Cloud Datastore查询:祖先路径与数据一致性  C++20的source_location是什么_C++在编译期获取源码位置信息用于日志和断言  Win11怎么设置鼠标指针速度_Win11提高鼠标指针精确度选项  uc浏览器网页版入口 uc浏览器网页版最新网址  在J*a中如何开发简易电子商务商品管理系统_商品管理系统项目实战解析  谷歌浏览器最新官方入口链接 谷歌浏览器网页版官网导航  win11 Snap Layouts怎么用 Win11窗口布局与分屏多任务高效指南【必学】  mysql密码锁定怎么解锁_mysql密码锁定解锁后修改密码步骤  CSS布局:解决全屏元素100%尺寸与外边距导致的页面溢出问题  拼多多赚钱渠道_拼多多收益来源  MinIO大规模对象列表性能瓶颈深度解析与外部元数据管理策略  poki免费入口快捷访问 poki人气小游戏直接玩站点  Go与Ruby之间实现AES加密互通:CFB模式下的密钥长度匹配策略  俄罗斯方块最新版入口 俄罗斯方块在线玩官网入口 

搜索