首页 > 解决方案 > GitHub 操作无法发布到 Azure

问题描述

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

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

现在我正在尝试设置自动部署,并且我正在使用在设置部署时从 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\

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

标签: asp.netazuregithub-actions

解决方案


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

 - name: Publish to folder
      run: msbuild src\myproj\myproj.csproj ...

推荐阅读