azure-devops - 如何为 VSTO 加载项设置 Azure DevOps 项目?

标签 azure-devops vsto ms-project

我有一个可与 SharePoint Online 和 Azure SQL 数据库配合使用的 Microsoft Project VSTO 加载项。不同的客户将连接到单独的 SharePoint 租户并使用不同的数据库,但所有高级用户都需要该加载项。我正在尝试迁移到 Azure DevOps,希望它可以帮助简化团队沟通、测试和部署/发布,但我没有了解 Azure Project 设置选项的背景(例如 Kubernetes???)。经过几个小时的搜索,我似乎找不到好的文章或教程;谁能指出我正确的方向?

最佳答案

我正在寻找有关同一主题的任何资源。我花了一段时间,但现在我已经弄清楚如何设置构建管道。主要挑战是使用 pfx 证书文件配置 ClickOnce list 和程序集签名。所以我把它留在这里以防有人遇到同样的情况:

Visual Studio 2019

程序集 -> 属性 -> 签名:

签署 ClickOnce list : 检查

证书: 添加*.pfx(从文件中选择)

签署程序集: 检查

选择强名称 key 文件:

Azure DevOps

  1. 转到Pipelines > Library > Secure Files并上传您的 codesign.pfx 激活“授权在所有管道中使用” 按“保存
  2. 添加新管道
  3. 选择“使用经典编辑器
  4. 选择来源:Azure Repos Git' 按“继续
  5. 选择模板:“.NET 桌面
  6. 在代理作业 1 上按“+”添加“下载安全文件任务” 安全文件:选择您的codesign.pfx
  7. 转到“变量”选项卡并创建一个新的管道变量certPassword(分配 *.pfx 文件密码)
  8. 在“代理作业 1”上按“+”添加“PowerShell 任务” 类型:内联 脚本:

$pfxpath = $env:DOWNLOADSECUREFILE_SECUREFILEPATH
$password = '$(certPassword)'
    
Add-Type -AssemblyName System.Security
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
$cert.Import($pfxpath, $password, [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]"PersistKeySet")
$store = new-object system.security.cryptography.X509Certificates.X509Store -argumentlist "MY", CurrentUser
$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]"ReadWrite")
$store.Add($cert)
$store.Close()

  • 可选:如果您需要在解决方案中执行 UnitTest,请添加另一个“Visual Studio 构建任务”并保留默认设置
  • 可选:保留“Visual Studio 测试任务”
  • 在第二个“Visual Studio 构建任务” MSBuild 参数:
  • /target:publish /p:PublishURL=http://yourdistributionpage.com/ /p:UpdateEnabled=true /p:UpdateMode=Foreground /p:ProductName="YourProductName"

  • 转到“触发器”选项卡并启用持续集成
  • 保存并排队管道。
  • 您的放置文件现在应该包含准备发布的 ClickOnce 文件和文件夹。

    该图片显示了构建管道中的任务序列,以防有帮助。

    enter image description here

    这是我获得有效的 PowerShell 脚本的地方: Missing StoreKey PFX certificates when building a Visual Studio 2019 UWP project

    这个没有明确引用 VSTO,但看起来很有前途。当我尝试时会发布更新。 Continuously Deploy Your ClickOnce Application From Your Build Server

    关于azure-devops - 如何为 VSTO 加载项设置 Azure DevOps 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57758323/

    相关文章:

    android - 在 Azure Pipelines 的 Ubuntu 代理上构建 Android 项目时,SDK 目录不可写

    c# - Excel VSTO 工作簿新事件

    .net - Visual Studio 2008 中的错误编译程序

    .net - VSTO 自定义文件夹类型

    excel - VBA 将 excel 前身数据导出到 MS Project

    c# - 如何使用 Microsoft.Office.Interop.MSProject 为项目添加自定义日历

    azure-devops - 源分支和构建原因的 Azure DevOps 管道条件

    node.js - 将TFS2017任务更新到最新版本

    azure - 如何在Azure上运行Python脚本?

    VBA - MS Project - 向持续时间字段添加空间