【发布时间】:2020-01-30 11:56:27
【问题描述】:
我有一个在构建过程中必须由 pfx 证书签名的软件。我构建解决方案的机器是一台全新的机器,我们试图在构建过程中不手动执行任何配置,而仅通过脚本执行。
当我启动构建时,我从msbuild 收到此错误
[错误]C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3214,5):
错误 MSB3325:无法导入以下密钥文件:Key.pfx。钥匙 文件可能受密码保护。要更正此问题,请尝试导入 再次证书或手动将证书安装到 Strong 使用以下密钥容器名称命名 CSP: VS_KEY_07C5CCD85188D111
通常我通过在构建机器上的 Visual Studio 的开发者控制台中执行来解决这个问题:
sn -i VS_KEY_07C5CCD85188D111 path\to\Key.pfx
但是,如前所述,我希望构建自动检索容器名称并导入证书作为msbuild 命令之前的步骤。我遇到的问题是我不知道如何检索 Visual Studio 想要使用的容器名称,因为它会根据我运行构建的机器而变化。
您知道 Visual Studio 如何计算该容器名称吗?或者无论如何如何检索它?
【问题讨论】:
-
您已经有至少一种相当简单的方法来找到它是可自动化的:执行一个旨在失败的构建并 grep 输出。 (当然,这是一个笨拙且次优的解决方案,但它可以自动化。我想我会指出这一点。)
-
@JeroenMostert 是的,目前我唯一的想法是解决这个问题,但我不太喜欢它。我想知道是否存在更好和“标准”的方式来获得它
标签: visual-studio powershell sn