首页 文章

使用MSBuild对ClickOnce或程序集进行签名导致错误MSB3321

提问于
浏览
6

我在Visual Studio 2008中设置了我的简单项目以使用ClickOnce安装程序 . 我've specified that the ClickOnce manifests should be signed by our comapny' s PFX文件 . 当我在Visual Studio中设置它时,它要求输入PFX文件的密码,我很乐意提供 . 当我在Visual Studio中构建和发布时,一切正常 . 它也可以在我的机器上从MSBuild开始工作 .

但是,当我尝试在我们的构建机器上使用MSBuild构建它时,我收到以下错误:

ERROR MSB3321 in 
    C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(1805,7)
    : Importing key file "ourCertificate.pfx" was canceled (sic).

经过一些搜索,我发现了一些信息,说这是因为我没有提供密码 . 但我找不到在构建机器上提供密码的方法 . 我也看到了安装Visual Studio的建议,并在Visual Studio中提供了一次密码,之后它将在MSBuild中运行 . 但我真的想避免在构建机器上安装Visual Studio .

我曾尝试双击PFX文件导入它并在询问时输入密码,但这没有帮助 .

如果我在Visual Studio中选中“签署程序集”并提供相同的PFX文件,则会发生同样的情况 .

我该如何解决这个问题?是否有手动方式在构建机器上存储密码?

2 回答

  • -1

    John Robbins有一篇关于如何在MSBuildCode Signing – It’s Cheaper and Easier than You Thought中包装SignTool.exe的博客文章 .

  • 6

    您可以将证书导入构建计算机上的Trusted Publisher存储中吗? (Internet Explorer>工具>选项>内容>证书)

    我不使用MSBuild来创建部署;我用法师 . 但是,我使用.pfx文件将我们的证书导入我的Trusted Publisher商店 . 为此,我必须输入密码 . 完成之后,当我在Mage中保存清单时,我不再需要提供密码 . 我只需从我的商店中选择证书即可 .

相关问题