You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.Net Core从3.1.5升级至3.1.31后出现内部服务器错误求助

.NET Core 3.1升级后IIS部署故障排查与解决方案

排查方向

  • 检查IIS模块注册:打开IIS管理器,查看站点的模块列表,确认AspNetCoreModuleV2是否存在。该模块是.NET Core应用在IIS中运行的核心组件,缺失则说明Hosting Bundle未正确完成IIS注册。
  • 查看应用启动日志:在站点根目录创建logs文件夹,修改web.config,将stdoutLogEnabled设为"true",stdoutLogFile设为".\logs\stdout",重启站点后查看日志文件,获取具体启动报错信息(这是定位启动故障最直接的方式)。
  • 验证.NET Core运行环境:打开命令提示符,执行dotnet --info,确认已安装的运行时包含目标版本(3.1.31或3.1.5),且架构与服务器一致(x64)。
  • 检查应用池配置:确认应用池的**.NET CLR版本**设置为无托管代码;同时检查应用池身份对站点目录是否具备读写权限(权限不足会导致应用无法读取配置或写入日志)。

解决方案

  • 修复Hosting Bundle IIS注册:以管理员身份打开命令提示符,执行dotnet iis reset,强制重新注册.NET Core与IIS的关联组件,完成后重启IIS服务。
  • 手动注册AspNetCoreModuleV2:管理员权限下执行命令:
    %windir%\System32\inetsrv\appcmd.exe install module /name:AspNetCoreModuleV2 /image:"%ProgramFiles%\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll"
    
    若路径与实际安装位置不符,需调整image参数的路径。
  • 重新发布部署应用:删除站点目录下的bin、obj文件夹,重新发布项目(确保发布目标框架与服务器安装的运行时版本一致),覆盖站点文件后重启应用池。
  • 彻底重装.NET Core环境:卸载所有.NET Core相关组件(runtime、Hosting Bundle等),重启服务器,然后直接安装对应版本的Hosting Bundle(该包包含运行时和IIS模块,无需单独安装runtime),安装完成后再次重启服务器,最后部署应用。

内容的提问来源于stack exchange,提问作者DavidScherer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 15:10:44