2009-05-19 11 views
6

Ich habe mein einfaches Projekt in Visual   Studio   2008 eingerichtet, um ein ClickOnce Installationsprogramm zu verwenden. Ich habe angegeben, dass die ClickOnce-Manifeste von unserer Unternehmens-PFX-Datei signiert werden sollten. Als ich das in Visual Studio eingerichtet habe, habe ich nach dem Passwort für die PFX-Datei gefragt, die ich gerne zur Verfügung gestellt habe. Alles funktioniert gut, wenn ich aus Visual Studio heraus erstelle und veröffentliche. Es funktioniert auch gut Gebäude von MSBuild auf meiner Maschine.Verwenden von MSBuild zum Signieren von ClickOnce- oder Assemblierungsergebnissen in Fehler MSB3321

Allerdings, wenn ich es mit MSBuild auf unserer Build-Maschine zu bauen versuchen, ich die folgende Fehlermeldung erhalten:

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

Nach einiger Suche wir ein wenig Informationen gefunden haben, die das sagt, ist, weil ich habe das Passwort nicht angegeben. Aber ich kann keinen Weg finden, das Passwort auf dem Build-Rechner anzugeben. Ich habe auch Vorschläge zur Installation von Visual Studio gesehen und gebe das Passwort einmal in Visual Studio ein, und danach wird es von MSBuild aus funktionieren. Aber ich möchte wirklich vermeiden, Visual Studio auf dem Erstellungscomputer zu installieren.

Ich habe versucht, doppelklicken Sie auf die PFX-Datei, um es zu importieren und das Passwort eingeben, wenn gefragt, aber das hat nicht geholfen.

Das gleiche passiert, wenn ich in Visual Studio "Unterzeichnen Sie die Assembly" und die gleiche PFX-Datei bereitstellen.

Wie kann ich dieses Problem beheben? Gibt es eine manuelle Möglichkeit, das Passwort auf dem Build-Rechner zu speichern?

Antwort

6

Können Sie Ihr Zertifikat in Ihren Trusted Publisher-Speicher auf dem Build-Computer importieren? (Internet Explorer> Extras> Optionen> Inhalt> Zertifikate)

Ich verwende MSBuild nicht zum Erstellen von Bereitstellungen; Ich benutze Magier. Ich verwende jedoch unsere .pfx-Datei, um unser Zertifikat in meinen Trusted Publisher-Speicher zu importieren. Dazu muss ich das Passwort eingeben. Wenn ich dann ein Manifest in Mage gespeichert habe, muss ich kein Passwort mehr angeben. Ich kann einfach das Zertifikat in meinem Geschäft auswählen.

+1

Das Importieren des Zertifikats in meinen Trusted Publisher-Speicher funktionierte für mich. – Wilka

+0

Zusätzlich musste ich diese msbuild -Eigenschaft verwenden, um msbuild anzuweisen, die ClickOnce-Anwendung zu signieren: ** ManifestCertificateThumbprint ** [... das hat mir geholfen] (http://huntjason.wordpress.com/2009/10/22/publishing-clickonce-applications-to-run-side-for-side-für-verschiedene-umgebungen-from-the-command-line-using-nant /) – ms007