首页 > 解决方案 > 在不同的配置上禁用 VSTO 签名

问题描述

我有一个使用 Visual Studio 2017 用 C# 编写的 Excel 插件 (VSTO)。

我的组织正在使用存储在 USB 驱动器上的赛门铁克代码签名证书。USB 驱动器连接到我在开发期间无法访问的构建机器。如图所示,我已将我的 VSTO 配置为在构建项目设置期间进行签名。 在此处输入图像描述 我的问题是在开发机器上,我无权访问证书,因此构建失败。

我理想的解决方案是禁用 DEBUG 配置中的代码签名,但这样会禁用所有配置的签名。有没有人遇到过这样的问题?

标签: c#vstocode-signing

解决方案


创建一个自签名证书供开发人员使用,将其命名为与生产证书相同的名称,甚至可以将其签入源代码控制。修改项目文件以仅针对将使用标准技术(不使用赛门铁克的签名工具)但使用自签名证书进行签名的调试配置具有自定义构建步骤。您可以在 UI 中执行此操作,否则直接修改 .csproj 以包含自定义 msbuild 步骤。

构建服务器将继续使用您现在拥有的任何方式构建和签名,包括使用 U 盘上的证书。这将允许 CI 服务器在保持证书机密的同时正式构建和签名。


推荐阅读