我们尝试使用MSBuild运行VS解决方案.它在开发机器上运行良好,但在Jenkins中有一个错误:
Cannot import the following key file: OutlookPlugin_TemporaryKey.pfx. The key file
may be password protected. To correct this,try to import the certificate again or manually
install the certificate to the Strong Name CSP with the following key container name:
VS_KEY_A688DC31A30F3EF1
我们不知道如何为自动构建指定pfx密码.或以其他方式自动化签名过程.
我们发现的一个解决方案是在VS中在同一台机器上以及与自动化过程相同的用户打开项目并输入密码.这不起作用,可能是因为Jenkins每次都会清除工作空间.
如果我们尝试编译而不签名然后再签名,则会抱怨必须签署ClickOnce程序集. Office插件似乎必须使用ClickOnce.
我们将VS 2010与Office Tools一起使用.
解决方法
如果您担心私钥的安全性,请考虑将签名分离到单独的步骤并将私钥存储在智能卡上.它可能是矫枉过正,但它是最好的,常用的保护措施之一.
否则,只需将密码添加为属性即可.如您所知,项目文件只是MSBuild脚本.例如:
<PropertyGroup> <PfxPassword>password</PfxPassword> </PropertyGroup> <!-- Sample sign task --> <SignTask> <File>MyOutlookPlugin.dll</File> <KeyFile>OutlookPlugin_TemporaryKey.pfx</KeyFile> <Password>$(PfxPassword)</Password> </SignTask>
有关MSBuild属性的更多信息,请参见http://msdn.microsoft.com/en-us/library/ms171458(v=vs.80).aspx.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。