【发布时间】:2013-02-12 07:47:22
【问题描述】:
我最近克隆了一台构建机器,在域上重命名了机器,并将机器从 SATA 驱动器移到了 SSD 驱动器。
我正在尝试为 SVN 中的新分支设置新版本。 该应用程序是 Visual Studio 2010 C# 和 VB.NET 代码和 VB6 代码的组合
当第一个项目尝试从命令行编译时,它无法编译并出现以下错误: “错误 MSB3325:无法导入以下密钥文件:“MyFile1.pfx”。密钥文件可能受密码保护。要更正此问题,请尝试再次导入证书或使用以下密钥容器将证书手动安装到强名称 CSP名称:VS_KEY_##########"
现在我可以打开 Visual Studio 2012 IDE 并成功构建项目,无论是发布模式还是调试模式。以任何顺序。
我试图解决的问题:
- 我已打开 proj 文件并选择了属性、签名,并尝试再次选择“MyFile1.pfx”文件。
- 我已尝试再次签署 MyFile1.pfx 文件。
- 我已将 Visual Studio 2012 项目保持打开状态,并打开了一个命令窗口。我试过'sn -i xxxxx.pfx VS_xxxxxxx",提示时输入密码
- 我已尝试手动编辑 .*proj 文件并删除对 MyFile1.pfx 文件的引用并重新构建项目,然后再次添加“MyFile1.pfx”文件。
在上述每种情况下,命令行构建都会失败,而 Visual Studio 构建会成功。
我的命令行构建是我们使用构建的解决方案文件并调用 devenv.com 来构建解决方案。
我很困惑为什么 IDE 构建有效而命令行无效,我猜这与从 .com 和 exe 构建有关。
除了为这个分支构建从头开始构建新的构建机器之外,我还能做些什么吗?
谢谢。
丹
【问题讨论】:
-
我想澄清一下,如果我删除了数字签名标志,那么构建确实可以成功完成,但是,数字签名是可取的。 :D
-
好的,我找到了解决方案(但我还不能发布)。这很奇怪,但却是真实的。它处理所有事情的巡航控制服务。 如果其他人遇到类似问题,请检查 Cruise Control 的服务属性。单击登录选项卡 检查“此帐户”设置(如果已设置)。确保第一次运行的设置至少是当前用户。我的设置是为本地管理员帐户设置的,在设置机器时我没有以本地管理员身份登录。希望这可以帮助任何其他试图追查流氓文件签名问题的人。丹
-
Cannot import the keyfile 'blah.pfx' - error 'The keyfile may be password protected' 的可能重复项-尽管我看到您尝试了接受的答案。但是那里还有很多其他的东西,所以在那里给出你的答案作为替代答案是有意义的。
标签: c# visual-studio-2010 build cruisecontrol.net