Azure App Service上ASP.NET Core Web API升级.NET 8后异常求助
解决Azure App Service Windows平台.NET 8升级后ANCM依赖错误的建议
核心排查与修复步骤
匹配平台位数
确认Azure App Service的「配置→常规设置→平台」选项(x64/x86)与你的应用编译位数完全一致:- 检查项目文件(
.csproj)中的<PlatformTarget>字段,明确设置为x64或x86,避免Any CPU带来的环境不确定性; - 若本地编译为x64,Azure平台请勿设置为x86,反之亦然,位数不匹配是ANCM找不到依赖的常见原因。
- 检查项目文件(
验证部署包完整性
- 通过Kudu进入
site/wwwroot目录,确认部署文件包含.NET 8对应的ANCM组件(如aspnetcorev2_inprocess.dll)以及应用所有依赖DLL; - 若使用GitHub Actions部署,检查发布步骤是否为
dotnet publish -c Release -o ./publish,确保输出完整无遗漏; - 尝试手动发布本地项目,将
publish文件夹内容直接通过Kudu上传部署,排除CI/CD流程的问题。
- 通过Kudu进入
清理手动安装的运行时,使用平台自带版本
- 不要通过Kudu手动安装.NET运行时,Azure App Service的.NET版本需通过「配置→常规设置→.NET版本」选择,手动安装的版本会与平台自带版本冲突;
- 在Kudu的
D:\Program Files\dotnet\shared\Microsoft.AspNetCore.App路径下查看是否存在8.x版本的文件夹,若存在则删除手动安装的运行时,重启应用; - 若路径下无8.x版本,重启App Service计划(而非单个应用),触发平台同步.NET运行时。
查看详细错误日志定位问题
- 开启App Service的「监控→应用服务日志」,启用「详细错误日志」,访问API后查看
site/wwwroot/logs或Kudu调试控制台中的日志文件,获取ANCM错误的具体缺失依赖信息; - 在Kudu中执行
dotnet --info命令,确认当前环境的.NET版本与运行时加载状态。
- 开启App Service的「监控→应用服务日志」,启用「详细错误日志」,访问API后查看
检查启动配置与环境设置
- 确认
Program.cs中WebApplication.CreateBuilder的环境配置无错误,避免本地开发环境(Development)与Azure生产环境(Production)的配置冲突; - 检查App Service「配置→应用程序设置」中的
ASPNETCORE_ENVIRONMENT值,确保与应用预期一致。
- 确认
其他用户的类似问题情况
不少用户在Windows App Service升级.NET 8时遇到相同的ANCM依赖错误,多数案例的根因集中在:平台位数不匹配、部署包缺失关键组件、手动安装运行时导致冲突这几个方面,按照上述步骤排查后基本能解决问题。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

