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

.NET 9.0 ASP.NET Core应用编译正常但启动失败(退出码137)

问题原因及解决方法

核心原因

问题出在AppHost生成机制上:.NET 9默认启用UseAppHost=true,会生成平台原生可执行文件作为启动入口。你复制项目到新路径后,旧的bin/obj目录残留了带有旧路径依赖的AppHost文件,或者新路径含特殊字符导致AppHost生成异常,使得本地直接调用AppHost启动失败;而Docker中使用/p:UseAppHost=false跳过了AppHost生成,直接用.NET Runtime托管运行,因此能正常启动。

具体解决步骤

  • 清理编译残留:删除项目根目录下的bin和obj文件夹,彻底清除旧编译产物后重新编译启动。
  • 临时绕开AppHost测试:执行命令 dotnet run --project App /p:UseAppHost=false,如果能正常启动,即可确认是AppHost的问题。
  • 永久禁用AppHost(可选):在项目的.csproj文件中添加以下配置,和Docker保持一致:
    <PropertyGroup>
      <UseAppHost>false</UseAppHost>
    </PropertyGroup>
    
  • 检查路径合法性:确保项目所在新文件夹路径没有空格、中文或其他非ASCII特殊字符,这类字符可能导致AppHost生成时路径解析错误。
  • 重置Rider缓存:Rider可能缓存了旧项目配置,通过File > Invalidate Caches...清理缓存并重启IDE后再尝试启动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 09:39:52