构建解决方案时不支持“--output”选项

Mus*_*tel 8 azure .net-core azure-web-app-service github-actions

我正在尝试将一个简单的 Web Api 应用程序部署到 Azure,以帮助我熟悉 Azure 服务和用于部署的 Github Actions。以下是我已采取的步骤

1 - 在 Visual Studio 中创建一个新的 .NET 7 Web Api 应用程序。这将创建一个样板 Weatherforecast API 应用程序,并通过 VS 在本地按预期运行。2- 创建一个新的 github 存储库并将我的 .sln 文件连同项目文件夹发布到该存储库

在蔚蓝中:

  • 在我的主资源组中创建新的 Web 应用程序服务

  • 在创建过程中链接到我的 github 帐户并选择我的项目文件夹和 .sln 文件所在的存储库和主分支。

  • 现在,工作流文件已在存储库中创建,部署将启动,但几分钟后失败并出现错误:

    构建解决方案时不支持“--output”选项。

如果工作流程文件如下,我看不到如何禁用此选项:

name: Build and deploy ASP.Net Core app to Azure Web App - muzztest

on:
  push:
    branches:
      - main
  workflow_dispatch:

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: Build with dotnet
        run: dotnet build --configuration Release

      - name: dotnet publish
        run: dotnet publish -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

  deploy:
    runs-on: windows-latest
    needs: build
    environment:
      name: 'Production'
      url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}

    steps:
      - name: Download artifact from build job
        uses: actions/download-artifact@v2
        with:
          name: .net-app

      - name: Deploy to Azure Web App
        id: deploy-to-webapp
        uses: azure/webapps-deploy@v2
        with:
          app-name: 'muzztest'
          slot-name: 'Production'
          publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_4F1CE8C3BB3A4BA59C822347153C6D43 }}
          package: .
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能解决上述障碍?

小智 15

这是由于构建解决方案时 .NET 7 支持的标志发生了变化。

而不是-o DIRor--output DIR你现在需要使用--property:PublishDir=DIR

请参阅: https: //learn.microsoft.com/en-us/dotnet/core/compatibility/sdk/7.0/solution-level-output-no-longer-valid了解更多信息。特别是“推荐操作”部分很有帮助。