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 里没给这个账号开登录 → "登录失败"。

相关推荐
IT_陈寒13 分钟前
Vue这个奇葩的响应式问题让我加班到凌晨
前端·人工智能·后端
脚本自动化开发7 小时前
存储涨价后,磐镭WO5迷你主机值得买吗
后端
一只爱撸猫的程序猿10 小时前
我看着一个 AI 引擎在 14 天里,从"记忆"走进了"搜索"
人工智能·后端·架构
陈随易12 小时前
纯 Go 写的 JS 引擎,跑分超过了 C 语言的 QuickJS
前端·后端·程序员
卷无止境13 小时前
RAGFlow 项目全景报告:从文档解析引擎到 Agent 原生数据库
后端·python
小Z先生14 小时前
我用 Go + 系统 WebView 写了个纯本地 Postman:不装 Electron、不连云端
后端·github
IT_陈寒14 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
灿飞屋14 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
石小石Orz14 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法
陈随易15 小时前
专注飞机 FocusFlight,两个人把番茄钟做成了一趟航班
前端·后端·程序员