【发布时间】:2019-12-26 13:57:04
【问题描述】:
我正在尝试为 WinForms 桌面应用程序创建 Azure DevOps 构建管道,但问题是我无法发布应用程序,也无法创建构建工件。
我创建了一个 WinForms 桌面应用程序并尝试在 Azure DevOps 中创建持续集成 (CI) 管道。
我已选择 .NET 桌面模板来配置持续集成 (CI) 管道。它正在恢复 NuGet 并成功构建解决方案。
现在我想发布 WinForms .NET 桌面应用程序并生成构建工件。我已经尝试过以下任务(如https://developercommunity.visualstudio.com/content/problem/337714/can-build-code-but-release-pipeline-says-no-artifa.html 中所述)
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
以下是我完整的 yml 代码:
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
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: CopyFiles@2
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)\DesktopApp\bin\'
Contents: '**'
TargetFolder: '$(System.ArtifactsDirectory)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
它无法生成我可以下载或用于发布管道的工件。
需要帮助我找不到如何发布 WinForms .NET 桌面应用程序和生成构建工件。
主要目标是将发布应用程序与桌面应用程序的设置和发布文件夹保存在我机器上的任何位置。
谁能帮帮我?
【问题讨论】:
-
这是一个简单的问题...您是在创建还是将构建输出复制到暂存目录?我们可以查看您完整的构建 yaml 文件以查看您是否将编译输出输出到 Build.ArtifactStagingDirectory 中吗?请记住,PublishBuildArtifacts 任务只是将该目录中的文件复制到目标并将其与构建摘要相关联。
-
@Reza Aghaei 感谢回复通过发布管道在我机器上的任何位置应用程序。
-
@Antebios 感谢您的回复,我可以从 bin 发布文件夹复制构建,该文件夹可以从工件下载,但我想发布 WinForms 桌面应用程序,希望将其发布为工件。我已经编辑了我的问题并添加了我的 yml 代码。我想我需要添加发布任务,但我找不到我的 yml 的发布任务模板或代码。
标签: winforms azure-devops build-pipeline