msbuild - una - no se puede cargar el archivo o ensamblado net standard
Firmar ensamblajes con archivos PFX en MSBuild, Team Build y TFS (6)
Recibo este error cuando intento crear un proyecto utilizando Team Build ( MSBuild ) en TFS 2010:
C: / Windows / Microsoft.NET / Framework / v4.0.30319 / Microsoft.Common.targets (1970):
No se puede importar el siguiente archivo de clave: CCC.pfx.
El archivo clave puede estar protegido por contraseña.
Para corregir esto, intente importar el certificado nuevamente o instale manualmente el certificado en el CSP de nombre fuerte con el siguiente nombre de contenedor de claves: VS_KEY_C00C673BBB353901C: / Windows / Microsoft.NET / Framework / v4.0.30319 / Microsoft.Common.targets (1970):
Importando archivo clave "CCC.pfx" fue cancelado.
Todo funciona correctamente en Visual Studio 2010. El ensamblaje está firmado con un archivo PFX . Por lo general, en Visual Studio se nos solicita la contraseña la primera vez que creamos, pero nunca más ...
He intentado correr:
sn -i companyname.pfx VS_KEY_3E185446540E7F7A
como otras respuestas como se sugiere en la pregunta de desbordamiento de pila No se puede importar el archivo de claves ''blah.pfx'' - error ''El archivo de claves puede estar protegido por contraseña'' . He intentado importar en el almacén de certificados personales como se sugiere en la pregunta de desbordamiento de pila. Usar MSBuild para firmar ClickOnce o el ensamblaje produce un error MSB3321 . Pero todo fue en vano, sigue siendo el mismo error.
¿Cómo lo hago? ¿Tengo que agregar de alguna manera el certificado a la cuenta de Windows en la que se ejecuta el servicio de compilación o algo así?
Alternativamente, ¿cómo hago que la compilación se realice en Team Build y no use la firma? Solo quiero comprobar si compila y ejecutar las pruebas unitarias. No necesito firmar para eso.
Lo que finalmente lo solucionó para mí fue hacer que la cuenta bajo la cual el servicio de compilación de TFS ejecute un administrador en la máquina local.
Sin embargo, no sé si alguna de las otras cosas que estaba intentando antes también debe hacerse para que funcione. Pero antes de que fuera admin, no funcionó después de que se convirtió en admin, funcionó.
Lo que hice no es tan elegante, pero funciona: inicie sesión como el usuario que ejecuta msbuild en la máquina de compilación, invoque manualmente msbuild y luego escriba la contraseña cuando se le solicite. Ahora se guardará en el almacén de certificados de ese usuario, y ahora las compilaciones se pueden ejecutar sin supervisión.
Me he enfrentado a un problema similar.
Escenario 1: Al construir un proyecto en el sistema local
En mi caso, recibí el error de firma del manifiesto una vez que descargué el proyecto de TFS y lo construí.
Para evitar este problema, hice clic con el botón derecho en el proyecto ==> Propiedades ==> Firmando y luego deseleccioné "Firmar los manifiestos de ClickOnce"
O
Puede hacer clic en el botón Seleccionar de la tienda y seleccionar su ID de inicio de sesión en el cuadro de diálogo abierto.
O
Puede instalar el archivo PFX manualmente y luego hacer clic en el botón Más opciones para instalar esos certificados.
Escenario 2: - Error de manifiesto durante la compilación
Aquí para resolver este error, primero hice clic en el botón Seleccionar de la tienda y seleccioné mi ID de inicio de sesión en el cuadro de diálogo. Luego, confirmé el proyecto en TFS y luego ejecuté la compilación.
Necesitas adaptar esta respuesta a tu específico. Algo como:
sn -i companyname.pfx VS_KEY_C00C673BBB353901
Recibí el mismo error, y después de leer su comentario de "administrador", simplemente ejecuté el símbolo del sistema VS como administrador y ahora funciona bien.
Tuve los siguientes ajustes:
<PropertyGroup>
<SignAssembly>false</SignAssembly>
<AssemblyOriginatorKeyFile>MyKey.pfx</AssemblyOriginatorKeyFile>
</PropertyGroup>
La firma de ensamblaje estaba desactivada, pero AssemblyOriginatorKeyFile
provocó un error durante el signo de manifiesto. Se eliminó AssemblyOriginatorKeyFile
para repararlo.