我正在尝试使我们公司中的所有构建和发布过程自动化,并且我正努力迈出非常小的一步:将PFX密钥导入到本地计算机中。 例如,我们有一台新的构建机器,并且要构建的代码是在构建过程中通过受密码保护的PFX文件签名的。 当我在这台机器上的TFS中运行构建时,构建失败并显示此错误
Error MSB3325: Cannot import the following key file: Mykey.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_03AD4638FE10A12F
很好,如here所述,我只需要将PFX文件导入名为VS_KEY_03AD4638FE10A12F
的容器中...但是这是在第一次构建失败之后需要执行的手动步骤,我需要它无法知道用于通过sn.exe
导入密钥的容器名称。
相反,我想提供一种已经能够编译代码的构建机器。
该容器名称是如何生成的?有什么方法可以在源代码中告知要使用的固定容器,以使每次使用新计算机时它都不会更改?或者,我们是否可以检索在构建之前将要使用的密钥容器,以便添加添加PFX文件的构建步骤? 还是此外,我可以使用任何“通用”密钥容器(对于所有机器都相同)吗?
谢谢