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

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" />

JSON 转义错误

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

认证方式混用

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

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

相关推荐
茉莉玫瑰花茶1 小时前
GO [ 函数 ]
开发语言·后端·golang
QuZhengRong1 小时前
【Spring】后端接收的请求参数多了一个逗号的处理办法
java·后端·spring
打工仔折腾 AI1 小时前
从零写一个CAD 02:实体容器、Esc取消与键盘失灵的排查
人工智能·后端·python·性能优化
用户8356290780512 小时前
使用 Python 拆分和提取 PDF 页面
后端·python
用户8356290780512 小时前
使用 Python 操作 PowerPoint 中的图片
后端·python
对象存储与RustFS2 小时前
自建对象存储的第一个决定:单机就够,还是必须上分布式
后端·rust·开源
用户8181870627462 小时前
第37章 Java应用在K8s里的经典坑:容器内存/CPU limit与JVM参数不匹配导致的OOMKilled
java·后端
小小张说故事2 小时前
pandas 读大 CSV 太慢?6 个实测提速技巧(dtype / 分块 / 引擎选择)
后端·python·pandas
喵个咪2 小时前
GoWind Admin|风行 — 开箱即用的企业级全栈中后台框架:多租户与行级数据隔离
后端·go