我有一个软件,在构建过程中必须由 pfx 证书签名。我构建解决方案的计算机是一台全新的计算机,我们尝试在构建过程中不手动执行任何配置,而只能通过脚本执行。
当我启动构建时,我收到此错误来自msbuild
[error]C:\Program Files (x86(\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3214,5(:
错误 MSB3325: 无法导入以下密钥文件:密钥.pfx。关键 文件可能受密码保护。要更正此问题,请尝试导入 再次证书或手动将证书安装到强 使用以下密钥容器名称命名 CSP: VS_KEY_07C5CCD85188D111
通常,我通过在构建机器上的Visual Studio开发人员控制台中执行来解决此问题:
sn -i VS_KEY_07C5CCD85188D111 pathtoKey.pfx
但是,如前所述,我希望构建自动检索容器名称并将证书作为msbuild
命令之前的步骤导入。我遇到的问题是我不知道如何检索Visual Studio想要使用的容器名称,因为它会根据我运行构建的计算机而变化。
你知道Visual Studio是如何计算这个容器名称的吗?或者无论如何如何检索它?
您可以使用SnInstallPfx.exe。它将确定容器名称并导入 pfx。它不是标准的,但使用标准方法来确定容器名称
有关详细信息,请参阅以下博客文章。