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

ASP.NET Core 8 Web API部署Azure App Service遇404错误求助

ASP.NET Core 8 Web API部署Azure App Service后404问题排查与解决

以下是针对你遇到的部署后404问题的具体排查和解决步骤:

1. 确保部署的是发布后的编译产物

你当前直接部署API项目文件夹的方式存在问题——Azure App Service无法直接编译.NET项目源代码,必须上传已发布的编译产物:

  • 在本地API项目目录下执行发布命令:
dotnet publish -c Release -o ./publish
  • 完成后,将生成的publish文件夹内的所有内容部署到Azure App Service,而非原API项目文件夹。

2. 验证Azure App Service的.NET版本配置

即使创建时选择了.NET 8 LTS,仍需确认配置是否正确:

  • 登录Azure门户,进入你的App Service资源
  • 左侧导航栏选择「配置」→「常规设置」
  • 在「堆栈设置」区域,确认:
    • 运行时堆栈:.NET 8 (LTS)
    • 运行时:ASP.NET Core

3. 检查并设置正确的启动命令

Windows环境下的App Service需要明确的启动命令来运行.NET应用:

  • 同样在「配置」→「常规设置」的「启动命令」栏,根据你的发布类型设置:
    • 若为框架依赖发布(默认方式):填写dotnet API.dll(API是你的项目名称,对应生成的dll文件名)
    • 若为自包含发布:填写API.exe

4. 查看应用日志定位启动错误

404可能是应用启动失败导致的,而非路径问题:

  • 在Azure门户的App Service资源中,左侧导航栏选择「日志」→「应用服务日志」
  • 开启「文件系统日志」,设置日志级别为「信息」或「详细」
  • 切换到「日志流」,查看应用启动时的具体错误信息(如依赖缺失、配置错误等)

5. 确认Swagger与接口路由配置

你的代码中中间件顺序和路由配置是正确的,但可以做额外验证:

  • 确保WeatherForecastController的路由属性是[Route("api/[controller]")],这样接口路径应为/api/weatherforecast
  • 代码中未限制Swagger仅在开发环境启用,部署后正常启动即可访问/swagger

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 15:32:32