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

相关推荐
Java爱好狂.5 小时前
Java初学者如何一周速通SpringBoot!
java·spring boot·后端·spring·高并发·架构师·java面试
马良神笔7 小时前
2026 年Rag最近技术前沿总结
后端·python·django
程序猿DD7 小时前
同样10美元,OpenDesign和Command Code的DeepSeek V4.1 Flash额度到底有多少?
后端
高频因子挖掘机7 小时前
A股量化从日线升级到5分钟线:数据量增加后最先暴露哪些工程问题?
后端·github·api
高频因子挖掘机7 小时前
历史行情返回顺序变了,为什么按行号计算指标很危险?
后端·github·api
团子哒哒9 小时前
数组、切片和Map
后端
专注仿真9 小时前
ThinkPHP6 API接口开发实例:从零搭建RESTful风格接口
后端·php·restful
开心猴爷9 小时前
应对iOS审核4.3:可以使用 IpaGuard 来给属性名混淆的技术细节与平衡之道
后端·ios
1m555555559 小时前
RAG 工程实战(五):正确知识已经进入 Prompt,为什么大模型还是会答错?
后端·面试
易小尊9 小时前
我的模型在 65% 以上时准得可怕,在 50% 时像在掷硬币
后端