.net Azure DevOps为Winforms应用程序构建管道

.net Azure DevOps为Winforms应用程序构建管道,.net,winforms,azure-devops,azure-pipelines,devops,.net,Winforms,Azure Devops,Azure Pipelines,Devops,我有一个WinForms应用程序。我已经为相同的项目创建了一个构建管道,但无法在工件中获得任何内容 实际上,我需要在压缩文件夹中构建项目。如有任何参考,将不胜感激 以下是管道的Yaml文件 trigger: - master pool: vmImage: 'windows-latest' variables: solution: '**/*.sln' buildPlatform: 'Any CPU' buildConfiguration: 'Release' ScmBui

我有一个WinForms应用程序。我已经为相同的项目创建了一个构建管道,但无法在工件中获得任何内容

实际上,我需要在压缩文件夹中构建项目。如有任何参考,将不胜感激

以下是管道的Yaml文件

trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'
  ScmBuildProject: 'DemoAppForAzurePipeLine'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: $(ScmBuildName)'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'
    ArtifactName: '$(ScmBuildName)'
  condition: succeededOrFailed()

假设您的生成输出在这里
$(build.SourcesDirectory)/YourProject/bin/release/”
您可以使用

-任务:ArchiveFiles@2
投入:
rootFolderOrFile:“$(Build.SourcesDirectory)/YourProject/bin/release/”
#includeRootFolder:true
#archiveType:'zip'#选项:zip、7z、tar、wim
#tarCompression:'gz'#可选。选项:gz、bz2、xz、无
#archiveFile:“$(Build.ArtifactStagingDirectory)/$(Build.BuildId.zip”
#replaceExistingArchive:true
#详细:#可选
#安静:#可选
然后将其放入archiveFile
$(Build.ArtifactStagingDirectory)/$(Build.BuildId.zip'


将此步骤放在
PublishBuildArtifacts
之前,应该可以。请仔细检查二进制文件的输出路径(我指的是
$(Build.SourcesDirectory)/YourProject/bin/release/

谢谢Krzysztof。我能得到想要的结果。