2010-10-26 14 views
18

Ottengo questo errore quando si cerca di costruire un progetto utilizzando Team Build (MSBuild) su TFS 2010:assemblee firma con i file PFX in MSBuild, Team Build, e TFS


C: \ Windows \ Microsoft .NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (1970):
Impossibile importare il seguente file chiave: CCC.pfx.
Il file chiave può essere protetto da password.

per correggere questo, provare a importare di nuovo o manualmente il certificato installare il certificato per il nome sicuro CSP con il seguente nome contenitore di chiavi: VS_KEY_C00C673BBB353901

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (1970):
L'importazione del file chiave "CCC.pfx" è stata annullata.


Tutto si basa su OK in Visual Studio 2010. Il montaggio è firmato con un file PFX. Di solito in Visual Studio ci viene chiesta la password la prima volta che costruiamo, ma poi mai più ...

Ho provato in esecuzione:

sn -i companyname.pfx VS_KEY_3E185446540E7F7A 

come altre risposte come suggerito in Stack Overflow questione Cannot import the keyfile 'blah.pfx' - error 'The keyfile may be password protected'. Ho provato a importare nell'archivio certificati personale come suggerito in Stack Overflow domanda Using MSBuild to sign ClickOnce or assembly results in error MSB3321. Ma tutto inutilmente, ancora lo stesso errore.

Come faccio? Devo in qualche modo aggiungere il certificato all'account Windows in cui viene eseguito il servizio build o qualcosa del genere?

In alternativa, come si fa a eseguire la compilazione in Team Build non utilizzare la firma? Voglio solo verificarlo compila ed eseguire i test unitari. Non ho bisogno di firmare per questo.

risposta

5

Ciò che alla fine ha risolto il problema era creare l'account con il quale il servizio di creazione TFS eseguiva un amministratore sul computer locale.

Non so se alcune delle altre cose che stavo provando prima devono anche essere fatte per farlo funzionare. Ma prima che fosse admin non ha funzionato dopo che è diventato admin ha funzionato.

+0

Grazie per la tua risposta! Ha funzionato anche per me! –

+1

Questo ha risolto anche il mio problema con TeamCity. Ho semplicemente cambiato l'utente di accesso per il servizio di build agent. Mi piacerebbe sapere come installare questi certificati in modo che siano disponibili per l'account di sistema locale ..? – Keith

8

È necessario adattare this answer al proprio specifico. Qualcosa di simile:

sn -i companyname.pfx VS_KEY_C00C673BBB353901 
+4

Come si può vedere dal mio post originale ho già provato questo senza successo – MikeG

8

Quello che ho fatto non è così elegante, ma funziona: Accedere come utente che esegue msbuild sul sistema di compilazione, manualmente richiamare msbuild, quindi digitare la password quando richiesto. Ora verrà salvato nell'archivio certificati dell'utente e ora le build possono essere eseguite automaticamente.

+2

FWIW, ~ 2 anni dopo, utilizzando ancora la stessa immagine del server di build, e non ho nemmeno pensato a questo da allora. – gregmac

+2

Puoi descrivere come hai eseguito msbuild? Ho ottenuto il comando dal log di compilazione di TFS e rimosso l'opzione/noconsolelogger e l'ho eseguito in una console. Quando l'ho eseguito non mi è mai stata richiesta una password e non funziona con lo stesso messaggio di errore. – jcmcbeth

+0

@gregmac Ho la stessa domanda. Come si ottiene msbuild per richiedere una password? – jnm2

1

Stavo ottenendo lo stesso errore, e dopo aver letto il tuo commento "amministratore" - ho appena lanciato VS Command Prompt come amministratore e ora funziona bene.

0

ho affrontato problema simile

Scenario 1: Mentre la costruzione di progetto nel sistema locale

Nel mio caso mi è stato sempre l'errore manifesto firma una volta che scaricare il progetto da TFS e costruirlo.

Per evitare questo problema ho ragione cliccato sul progetto ==> Proprietà ==> Firma poi incontrollato "firmare i manifesti ClickOnce"

O

è possibile fare clic Seleziona da negozio pulsante e selezionare il proprio ID di accesso dalla finestra di dialogo aperta.

O

è possibile installare il file PFX manualmente e poi cliccare sul pulsante Altre opzioni di installare quelli certificato.

Scenario 2: - Manifesto errore durante la generazione

qui per risolvere il problema in primo luogo ho cliccato Selezionare il pulsante negozio e selezionare il mio ID di accesso nella finestra di dialogo .Poi ho commesso quel progetto in TFS primo e quindi eseguire la build.

Problemi correlati