2009-05-19 50 views
6

我已經在Visual中設置了我的簡單項目  Studio   2008使用ClickOnce安裝程序。我已指定ClickOnce清單應由我們的公司的PFX文件簽署。當我在Visual Studio中設置它時,它詢問我很樂意提供的PFX文件的密碼。當我在Visual Studio中構建和發佈時,一切正常。它也可以在我的機器上從MSBuild正常工作。使用MSBuild簽署ClickOnce或彙編結果的錯誤MSB3321

然而,當我嘗試我們的構建機器上使用的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文件,也會發生同樣的事情。

我該如何解決這個問題?在生成機器上是否有手動存儲密碼?

回答

6

您可以將您的證書導入生成機器上的Trusted Publisher商店嗎? (Internet Explorer>工具>選項>內容>證書)

我不使用MSBuild創建部署;我使用法師。但是,我使用我們的.pfx文件將我們的證書導入我的Trusted Publisher商店。爲了做到這一點,我必須輸入密碼。完成之後,當我在Mage中保存一個清單時,我不再需要提供密碼。我可以簡單地從我的商店選擇證書。

+1

將證書導入到我的Trusted Publisher存儲庫爲我工作。 – Wilka 2009-07-22 11:15:32

+0

除此之外,我必須使用此msbuild屬性來指示msbuild簽署ClickOnce應用程序:** ManifestCertificateThumbprint ** [...這幫了我](http://huntjason.wordpress.com/2009/10/22 /發佈 - clickonce-applications-to-run-side-by-side-for-different-environments-from-the-command-line-using-nant /) – ms007 2013-01-10 16:31:46