☰
HTTP Error 500.30 - ASP.NET Core app failed to start
2026/9/30 12:14:31 网站建设 项目流程

1.问题

HTTP Error 500.30 - ASP.NET Core app failed to start

2.分析

500.30 - ASP.NET Core app failed to start是典型的“IIS 启动前置检查失败”​,属于 500.30 系列的第一个大类错误。

500.30 常见原因(按概率排序)

  1. Hosting Bundle 未安装 / IIS 未注册 ANCM 模块
  2. web.config 里 aspNetCore 节写错(arguments、processPath、hostingModel、stdoutLogFile 任一写错)
  3. IIS Express 调试版 ANCM 没全局版(你本机 IIS 用的 Hosting Bundle 没装全)
  4. IIS AppPool 身份问题(应用池账号无执行权限)
  5. 端口冲突(Kestrel 默认 5000,本机 IIS 建站默认 80,偶尔有 80 端口被占用)
  6. 数据库连不上(500.30 后,程序启动时会抛异常,导致 500.30)

3.改善办法

1. 确认 Hosting Bundle 已安装

# 检查是否已安装 dotnet --list-runtimes # 如果没有输出 Microsoft.AspNetCore.App 或 Hosting Bundle,重新下载安装 # https://dotnet.microsoft.com/download/dotnet/9.0 → 点 "Hosting Bundle"

安装完成后必须重启 IIS:

iisreset

显示已经安装成功

2.检查链接检查 web.config 内容

<aspNetCore processPath="dotnet" arguments=".\ProjectManager.Web.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />

3.

JSON 转义错误

你把连接串改成Server=xx\MSSQL2025—— JSON 里单个\是非法转义符,程序一启动解析配置就崩,这就是 500.30。必须写\\。

认证方式混用

你的连接串同时写了User ID=sa;Password=XXXX和Trusted_Connection=True。

两者混用时sa 被忽略,实际走 Windows 认证,拿应用池虚拟账号IIS APPPOOL\PM去连 SQL,而 SQL 里没给这个账号开登录 → “登录失败”。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询