我们正在用C#构建一个Outlook插件。它在VS中构建时没有问题,并使用临时pfx证书签名。我们希望将构建过程放在Jenkins中,并使其自动运行。
我们试图通过MSBuild运行VS解决方案。它在开发机器上很好用,但是在詹金斯(Jenkins)中有一个错误:
无法导入以下密钥文件:OutlookPlugin_TemporaryKey.pfx。密钥文件可能受密码保护。若要更正此问题,请尝试再次导入证书或使用以下密钥容器名称将证书手动安装到“强名称” CSP:VS_KEY_A688DC31A30F3EF1
我们不知道如何为自动构建指定pfx密码。或者以其他方式使签名过程自动化。
我们发现的一种解决方案是,以与自动过程相同的用户和同一用户的方式在VS中打开该项目,然后键入密码。这行不通,可能是因为詹金斯(Jenkins)每次都消灭了工作区。如果我们尝试不签名就进行编译,然后再对其进行签名,则会抱怨必须对ClickOnce程序集进行签名。看来Office插件必须使用ClickOnce。
那么,如何在构建文件中的某处指定pfx密码?
我们将VS 2010与Office工具一起使用。