Sul*_*shi 10 winforms build-pipeline azure-devops
我正在尝试为 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'
Run Code Online (Sandbox Code Playgroud)
以下是我完整的 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'
Run Code Online (Sandbox Code Playgroud)
它无法生成我可以下载或用于发布管道的工件。
需要帮助我找不到如何发布 WinForms .NET 桌面应用程序并生成构建工件。
主要目标是在我的机器上的任何位置保存带有桌面应用程序的设置和发布文件夹的发布应用程序。
有人可以帮我吗?
我想发布 WinForms 桌面应用程序,并希望将其发布为工件,我可以下载并保存已发布的应用程序,并通过发布管道在我机器上的任何位置设置桌面应用程序
如果您想发布 WinForms 桌面应用程序,以便您可以在任何位置下载和保存已发布的应用程序并设置桌面应用程序,您需要发布发布的输出,而不是构建。
因此,要解决此问题,您需要在构建项目时向 MSBuild 提供“/target:Publish”参数。这是 Azure Devops 中的样子:
如果构建失败并出现与过期证书或 pfx 文件相关的错误,请参阅有关在构建时在构建服务器上导入所需证书的另一篇博客文章,这涉及在之前添加一个“Import-PfxCertificate.ps1”构建步骤MSBuild 步骤。
这是一个很棒的文档,展示了如何从构建服务器持续部署 ClickOnce 应用程序。
希望这可以帮助。