Frage Verwenden von MSBuild, um ClickOnce oder Assembly zu signieren, führt zu Fehler MSB3321


Ich habe mein einfaches Projekt in Visual Studio 2008 eingerichtet, um ein ClickOnce Installateur. Ich habe angegeben, dass die ClickOnce-Manifeste von unseren Unternehmen signiert sein sollten PFX Datei. 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 aus bauen MSBuild auf meiner Maschine.

Wenn ich versuche, es mithilfe von MSBuild auf unserer Build-Maschine zu erstellen, erhalte ich den folgenden Fehler:

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

Nach einigem Suchen habe ich ein wenig Information gefunden, die besagt, dass dies daran liegt, dass ich das Passwort nicht angegeben habe. 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, auf die PFX-Datei zu doppelklicken, um es zu importieren und das Kennwort einzugeben, wenn gefragt, aber das half nicht.

Das Gleiche passiert, wenn ich in Visual Studio die Option 'Unterzeichnen' ankreuze und die gleiche PFX-Datei zur Verfügung stelle.

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


6
2018-05-19 23:11


Ursprung


Antworten:


Können Sie Ihr Zertifikat in Ihren Trusted Publisher-Speicher auf dem Erstellungscomputer 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.


6
2018-05-20 14:19



John Robbins hat einen Blogbeitrag zum Thema "Umbruch" SignTool.exe im MSBuild, Code Signing - es ist billiger und einfacher als Sie dachten.


-1
2017-10-20 15:13