2009-05-19 10 views
6

He configurado mi proyecto simple en Visual   Studio   2008 para usar un instalador ClickOnce. He especificado que los manifiestos ClickOnce deben estar firmados por nuestro archivo PFX de nuestra compañía. Cuando configuré esto en Visual Studio, solicité la contraseña para el archivo PFX, que con gusto proporcioné. Todo funciona bien cuando construyo y publico desde Visual Studio. También funciona bien construyendo desde MSBuild en mi máquina.Uso de MSBuild para firmar ClickOnce o resultados de ensamblado en el error MSB3321

Sin embargo, cuando intento para construirlo utilizando MSBuild en nuestra máquina de construcción, me sale el siguiente error:

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

Después de buscar información que he encontrado un poco de información que dice que esto se debe a que no ha proporcionado la contraseña Pero no puedo encontrar la manera de proporcionar la contraseña en la máquina de compilación. También he visto sugerencias para instalar Visual Studio y proporcionar la contraseña una vez dentro de Visual Studio, y luego funcionará desde MSBuild después de eso. Pero realmente me gustaría evitar instalar Visual Studio en la máquina de compilación.

He intentado hacer doble clic en el archivo PFX para importarlo y poner la contraseña cuando me lo pidieron, pero esto no ayudó.

Esto mismo ocurre si marco 'Firmar el ensamblado' en Visual Studio y proporciono el mismo archivo PFX.

¿Cómo puedo solucionar este problema? ¿Hay alguna manera manual de almacenar la contraseña en la máquina de compilación?

Respuesta

6

¿Puede importar su certificado a su tienda Trusted Publisher en la máquina de compilación? (Internet Explorer> Herramientas> Opciones> Contenido> Certificados)

No uso MSBuild para crear implementaciones; Yo uso Mage. Sin embargo, utilizo nuestro archivo .pfx para importar nuestro certificado en mi tienda Trusted Publisher. Para hacer eso, debo ingresar la contraseña. Una vez hecho esto, cuando guardo un manifiesto en Mage ya no tengo que proporcionar una contraseña. Simplemente puedo seleccionar el certificado de mi tienda.

+1

Importar el certificado en mi tienda Trusted Publisher me ha funcionado. – Wilka

+0

Además de eso tuve que usar esta propiedad msbuild para ordenar a msbuild que firme la aplicación ClickOnce: ** ManifestCertificateThumbprint ** [... esto me ayudó] (http://huntjason.wordpress.com/2009/10/22/publishing-clickonce-applications-to-run-side-by-side-for-different-environments-from-the-command-line-using-nant /) – ms007

Cuestiones relacionadas