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

为何Azure会将我的App Service配置重置为已弃用的.NET 6 (LTS)?

解决Azure App Service中.NET 8/9配置回退及启动失败问题

问题现象

  • 在Azure App Service「设置>配置」面板中,将.NET版本切换至.NET 9 (STS)或.NET 8 (LTS)并保存
  • 发布已配置net9.0或net8.0为目标框架的ASP.NET Core项目后,应用无法启动,显示错误:

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

  • 同时App Service会自动将.NET版本配置回退至已弃用的.NET 6 (LTS)

排查与修复步骤

1. 确认项目与部署的框架一致性

  • 检查项目文件(.csproj)中的TargetFramework节点,确保与目标版本匹配,示例:
<TargetFramework>net8.0</TargetFramework>
  • 发布时选择对应框架的配置,避免发布过程中强制覆盖目标框架版本。

2. 锁定App Service的.NET版本配置

  • 进入「设置>配置>常规设置」,修改.NET版本后点击「保存」,等待1-2分钟让配置完全生效,再执行发布操作,避免因配置未同步导致的自动回退。
  • 若自动回退仍发生,可通过Azure CLI手动设置版本:
az webapp config set --name <你的应用名称> --resource-group <资源组名称> --net-framework-version "v8.0"

(将v8.0替换为v9.0即可适配.NET 9)

3. 通过日志定位启动失败根源

  • 进入「监测>日志流」查看启动阶段的详细日志,常见触发原因包括:
    • 项目依赖的NuGet包与目标框架不兼容
    • 应用启动代码存在旧框架兼容性问题
    • Linux环境下未正确配置.NET 8/9 runtime(Windows环境默认支持,Linux需额外指定)

4. 清理部署缓存并重发

  • 进入「开发工具>高级工具」打开Kudu控制台,执行以下命令清理缓存:
del /s /q D:\home\site\wwwroot\*.*
rmdir /s /q D:\home\site\wwwroot
  • 重新发布项目,确保部署包完整覆盖旧文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 17:44:56