c# - 在不同的配置上禁用 VSTO 签名
问题描述
我有一个使用 Visual Studio 2017 用 C# 编写的 Excel 插件 (VSTO)。
我的组织正在使用存储在 USB 驱动器上的赛门铁克代码签名证书。USB 驱动器连接到我在开发期间无法访问的构建机器。如图所示,我已将我的 VSTO 配置为在构建项目设置期间进行签名。 我的问题是在开发机器上,我无权访问证书,因此构建失败。
我理想的解决方案是禁用 DEBUG 配置中的代码签名,但这样会禁用所有配置的签名。有没有人遇到过这样的问题?
解决方案
创建一个自签名证书供开发人员使用,将其命名为与生产证书相同的名称,甚至可以将其签入源代码控制。修改项目文件以仅针对将使用标准技术(不使用赛门铁克的签名工具)但使用自签名证书进行签名的调试配置具有自定义构建步骤。您可以在 UI 中执行此操作,否则直接修改 .csproj 以包含自定义 msbuild 步骤。
构建服务器将继续使用您现在拥有的任何方式构建和签名,包括使用 U 盘上的证书。这将允许 CI 服务器在保持证书机密的同时正式构建和签名。
推荐阅读
- ansible - 等待主机 A 上的任务完成,然后在单个 playbook 上运行主机 B 上的任务
- regex - 如何正确使用 rxrepl?我的正则表达式代码不起作用
- node.js - 为什么 VSCode 显示 ReferenceError: router is not defined?
- python - Selenium 没有在某些站点上登录到 WP-Admin,并且卡在 reauth 循环中
- r - 使用 r 在训练和测试集中的功能和循环
- maven - 从 pom.properties 中删除 m2e.projectLocation
- java - 字符串索引出界异常
- android - 如何区分意图中的每个类?
- c++ - 在 HAL 上使用 STM32 QSPI 时出现意外行为
- node.js - 上传大文件时处理 Multer fileSize 错误