在不同的配置上禁用VSTO签名

时间:2018-10-18 08:14:02

标签: c# vsto code-signing

我有一个使用Visual Studio 2017用C#编写的Excel加载项(VSTO)。

我的组织正在使用Symantec的代码签名证书,该证书存储在USB驱动器上。 USB驱动器已连接到在开发过程中无法访问的构建机器上。 我已经将VSTO配置为在构建项目设置期间进行签名,如图所示。 enter image description here 我的问题是在开发计算机上,我无权访问证书,因此构建失败。

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

1 个答案:

答案 0 :(得分:1)

创建一个供开发人员使用的自签名证书,为其提供与生产证书相同的名称,甚至可以将其检入源代码管理。修改项目文件,使其具有仅针对 Debug 配置的自定义生成步骤,该配置将使用标准技术(不使用Symantec的签名工具)进行签名,但使用自签名证书。您也许可以在用户界面中执行此操作,否则可以直接修改.csproj以包括自定义msbuild步骤。

构建服务器将继续以您现在拥有的任何方式进行构建和签名,包括USB记忆棒上的证书。这样,CI服务器就可以在对证书保密的同时进行正式的构建和签名。