gpt4 book ai didi

azure-devops - 在发布时配置 ClickOnce 包

转载 作者:行者123 更新时间:2023-12-03 20:44:44 27 4
gpt4 key购买 nike

我正在处理从旧的手动实现的 ci/cd 解决方案到 Azure DevOps 的管道迁移。
有一些我仍在重用的预建功能/流程。
例如。就像他们如何将所有解决方案打包为工件一样。
我试图保持代码更改尽可能少。
构建管道创建一个 ClickOnce 包 .zip
然后在发布阶段,应用程序文件中的 myapp.exe.config 通过 XML-Document-Transform 进行转换。此外,应用程序 list <ApplicationName>.application 也可以通过 Powershell 手动编辑。 <deploymentProvider codebase="http://1.1.1.1/samplefolder/myapp.application" /> 在发布时会根据将要部署到的环境/路径而更改。
应用程序 list

<asmv1:assembly ...>
<deployment ...>
<subscription>
<update>
<beforeApplicationStartup />
</update>
</subscription>
<deploymentProvider codebase="http://1.1.1.1/samplefolder/myapp.application" />
</deployment>
</asmv1:assembly>
现在我明白这个方法需要对整个包进行重新签名。他们有一个自定义的 .exe 文件来重新签署整个包(它不是 mage.exe )。不幸的是,我不能重用上述可执行文件来重新签名。
我只有他们的证书指纹。但我不知道该怎么办。
问题:
  • 重新签署包裹的其他选择是什么?
  • 有没有更好的方法来做到这一点?我是否必须为此解决方案进行另一个构建步骤?
  • 最佳答案

    我已经成功地使用 dotnet mage 在发布时签署了 ClickOnce Appmanifest ( *.application ) 和 *.exe.manifest 文件。我通过在安全文件中添加证书( .pfx.p12 )文件和管道变量中的证书密码来完成此操作。
    enter image description here

  • 使用 .NET Core 任务指定使用版本 5.x。
  • 可选步骤 通过 dotnet tool update --global microsoft.dotnet.mage --version 5.0.0 重新安装
  • 在 powershell 中运行以下命令
  •   ## Signing the exe.manifest file
    dotnet mage -update "<folder>/Application Files/<assembly folder name>/<assemblyname>.exe.manifest" -fd "<folder>/Application Files/<folder>" -CertFile "$(SignKey.secureFilePath)" -Password "$(SignKeyPassword)"

    ## Signing the .Application file
    dotnet mage -update "<the .Application full path>" -pu "$publisherURL" -pub "$(PublisherDetails)" -appmanifest "Application Files/<assembly folder name>/<assemblyname>.exe.manifest" -CertFile "$(SignKey.secureFilePath)" -Password "$(SignKeyPassword)"

    关于azure-devops - 在发布时配置 ClickOnce 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66156227/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com