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

部署.NET 7 Web API到Azure时遇--output选项不支持错误的解决方法

解决GitHub Actions部署Azure Web App时的--output选项错误

错误原因

执行dotnet publish时如果未指定具体项目文件(.csproj),命令会默认尝试发布整个解决方案(.sln),而针对解决方案的dotnet publish不支持-o/--output选项——因为解决方案包含多个项目,无法将所有输出统一到单一目录。你的Workflow中dotnet publish命令未指定项目路径,因此触发了这个错误。

修复步骤

修改Workflow中的dotnet publish步骤,指定你的Web API项目的.csproj文件路径:

  1. 确认项目的.csproj文件路径,比如你的项目文件夹名为WeatherForecastAPI,路径通常是./WeatherForecastAPI/WeatherForecastAPI.csproj(请根据实际项目名称调整)。
  2. 更新Workflow中的dotnet publish命令:

修改后的Workflow片段

- name: dotnet publish
        run: dotnet publish ./你的项目文件夹名/你的项目名.csproj -c Release -o ${{env.DOTNET_ROOT}}/myapp

可选优化:合并build和publish步骤

由于dotnet publish会自动执行build操作,你可以删除单独的Build with dotnet步骤,减少冗余操作,修改后的build jobs如下:

jobs:
  build:
    runs-on: windows-latest

    steps:
      - uses: actions/checkout@v2

      - name: Set up .NET Core
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: '7.x'
          include-prerelease: true

      - name: dotnet publish
        run: dotnet publish ./你的项目文件夹名/你的项目名.csproj -c Release -o ${{env.DOTNET_ROOT}}/myapp

      - name: Upload artifact for deployment job
        uses: actions/upload-artifact@v2
        with:
          name: .net-app
          path: ${{env.DOTNET_ROOT}}/myapp

完成修改后,提交更新后的Workflow文件到GitHub,重新触发部署即可解决该错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 22:57:19