GitHub 操作无法发布到 Azure

ivn*_*omp 4 asp.net azure github-actions

我正在尝试使用 GitHub actions 和 Azure 构建和部署 ASP.NET Web 应用程序。

我已经使用 VS2017 成功创建了一个小型应用程序 (.NET 4.8) 并将其发布到 Azure。

现在,我正在尝试设置自动部署,并使用设置部署时从 Azure 获得的基本 GitHub 操作工作流。

运行该操作时,我遇到此错误:

D:\a\pathtomyproject\myprojectname.csproj : error MSB4057: The target "pipelinePreDeployCopyAllFilesToOneFolder" does not exist in the project.

这是完整的动作:

name: Build and deploy ASP app to Azure Web App 

on:
  push:
    branches:
      - develop
  workflow_dispatch:

jobs:
  build-and-deploy:
    runs-on: 'windows-latest'

    steps:
    - uses: actions/checkout@master

    - name: Setup MSBuild path
      uses: microsoft/setup-msbuild@v1.0.2
  
    - name: Setup NuGet
      uses: NuGet/setup-nuget@v1.0.5

    - name: Restore NuGet packages
      run: nuget restore

    - name: Publish to folder
      run: msbuild /nologo /verbosity:m /t:Build /t:pipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="\published\"

    - name: Deploy to Azure Web App
      uses: azure/webapps-deploy@v2
      with:
        app-name: 'myname'
        slot-name: 'production'
        publish-profile: ${{ ... }}
        package: \published\

Run Code Online (Sandbox Code Playgroud)

具体来说,错误发生在“发布到文件夹”步骤期间。

ivn*_*omp 6

找到了我的问题的解决方案。由于我使用的是多项目解决方案,因此我必须修改 msbuild 命令并指定构建我的启动项目。现在我的发布到文件夹步骤如下所示:

 - name: Publish to folder
      run: msbuild src\myproj\myproj.csproj ...
Run Code Online (Sandbox Code Playgroud)