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

使用GitHub Actions部署.NET API到Azure App Service遇路径错误求助

GitHub Actions 发布.NET API到Azure App Service路径不存在问题排查与解决

常见原因及对应解决办法

1. 项目路径配置错误

  • 确认Workflow里dotnet build、dotnet publish的工作目录和项目实际位置匹配。如果API项目在仓库子目录(比如src/MyDotNetApi),必须用working-directory指定正确路径:
    - name: 构建并发布项目
      run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/publish
      working-directory: ./src/MyDotNetApi
    
  • 保证publish指定的输出目录,和后续Azure部署步骤里的package路径完全一致,注意Linux环境下路径区分大小写。

2. 发布输出目录未正确生成

  • 检查dotnet publish命令是否遗漏-o参数,这个参数用来指定输出目录,没加的话默认输出到项目目录下的bin/Release/netX.X/publish,后续部署步骤没对应这个路径就会报错。
  • 可以在publish步骤后加目录检查命令,确认输出是否正常:
    - name: 检查发布输出目录
      run: ls -la ${{env.DOTNET_ROOT}}/publish
    
    正常情况下能看到web.config、bin文件夹以及项目dll文件。

3. 环境变量或变量引用错误

  • 如果Workflow里用了自定义环境变量(比如${{env.PUBLISH_PATH}}),要确保在开头的env区块正确定义,避免引用未定义变量导致路径无效:
    env:
      PUBLISH_PATH: ./publish-output
    
  • 注意变量的拼写和大小写,比如Linux runner上PUBLISH_PATH和publish_path会被识别为不同变量。

4. 仓库结构与预期不符

  • 确认GitHub仓库的目录结构和本地一致,不要把项目目录加到.gitignore里导致GitHub上无此目录,也不要漏提交项目文件。
  • 如果是单仓库多项目,确保部署步骤指向的是正确的.csproj文件所在路径,别选错项目。

5. Azure部署步骤路径错误

  • 使用azure/webapps-deploy@v2动作时,package参数要准确指向publish生成的目录或提前打包好的压缩包。如果是目录直接写路径即可,不要多加多余层级:
    - name: 部署到Azure App Service
      uses: azure/webapps-deploy@v2
      with:
        app-name: '你的应用名称'
        slot-name: 'production'
        package: ${{env.DOTNET_ROOT}}/publish
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 02:02:45