¿Por qué aparece "No se puede encontrar el certificado de firma de manifiesto en el almacén de certificados" en mi complemento de Excel?

216

Tengo un proyecto de complemento de Excel que se creó hace un par de años en Visual Studio 2008. Tengo que realizar algunos cambios, así que me actualicé a Visual Studio 2010 (el único IDE que puedo usar). No estoy seguro si esto está causando el problema pero es información de fondo.

Cuando reviso el código y lo compilo, aparece el error "Error 1 No se puede encontrar el certificado de firma de manifiesto en el almacén de certificados".

¿Alguien puede decirme qué significa esto y cómo solucionarlo?

Andy Parsons
fuente

Respuestas:

250

Debe volver a agregar ese certificado a su máquina o elegir otro certificado.

Para elegir otro certificado o recrear uno, dirígete a la página de propiedades del Proyecto, haz clic en la pestaña Firma y

  • Haga clic en Seleccionar de la tienda
  • Haga clic en Seleccionar del archivo
  • Haga clic en Crear certificado de prueba

Una vez que se haga cualquiera de estos, debería poder construirlo nuevamente.

Sathyajith Bhat
fuente
134
En Project's properties pagepuede ir y Signing tabluego desmarcar la casilla de verificación "Firmar los manifiestos ClickOnce".
Rubens Mariuzzo
10
@RubensMariuzzo - no si realmente quieres firmarlo
Matt Wilko
La desmarcación es imposible para los complementos de Office y se volverá a verificar.
it3xl
1
¿Cómo se puede realizar la operación "Crear certificado de prueba" en un servidor de compilación?
ryanwebjackson
138

Encontré esta solución que resolvió el problema para mí: eliminar todas las entradas en su *.csprojque caen en:

<manifestcertificatethumbprint>...</manifestcertificatethumbprint>
<manifestkeyfile>...</manifestkeyfile>
<generatemanifests>...</generatemanifests>
<signmanifests>...</signmanifests>
Wernight
fuente
1
Esto es necesario cuando la aplicación solía ser ClickOnce pero ya no está (la casilla de verificación está atenuada en la pestaña Firmar)
Dan Bechard
1
También funcionó para mí. aparentemente hubo algunas sobras en el archivo del proyecto de algunos experimentos que hicimos en él que tuvieron que limpiarse manualmente. Por cierto, también tuve que eliminar el archivo .snk del proyecto. así que para mí fue: eliminar .snk, deshabilitar la firma, editar el archivo del proyecto, volver a cargar el proyecto y habilitar la firma.
OSH
Aparentemente necesario si alguna vez ha marcado ClickOnce y luego ha cambiado a Sign Assembly.
Roland
1
Esta es la mejor respuesta.
Homam
3
Desmarcar la opción "Firmar el manifiesto del cliente una vez" no siempre funciona. La solución es eliminar las líneas mencionadas de sus archivos csproj
néctar
98

Una solución rápida para ponerme en marcha fue desmarcar "Firmar los manifiestos de ClickOnce" en: Proyecto -> (nombre del proyecto) Propiedades -> Ficha Firma

Rudy
fuente
1
Tuve que desmarcar ambos Sign the ClickOnce manifestsy Sign the assemblymarcar las casillas en la pestaña de firma en las propiedades del proyecto para deshacerme del problema. No estaba usando ninguna firma en absoluto.
RBT
13

Cuando el proyecto se creó originalmente, el certificado de firma de hacer clic una vez se agregó en la pestaña de firma de las propiedades del proyecto. Esto firma el manifiesto de clic una vez cuando lo construyes. Entre entonces y ahora, ese certificado ya no está disponible. O esta no era la máquina en la que la construiste originalmente o se limpió de alguna manera. Debe volver a agregar ese certificado a su máquina o elegir otro certificado.

Gardner
fuente
24
"Debe volver a agregar ese certificado a su máquina o elegir otro certificado". Si sabe cómo agregar el certificado, sería muy útil indicar el cómo en este hilo o un enlace al cómo en este hilo. Como es, su respuesta es solo la mitad de una respuesta.
1
Página Propiedades del proyecto> Signingen pestañas verticales> Haga clic en Create test certificate. Y no olvide confirmar un nuevo archivo creado You.Project_TemporaryKey.pfxporque los .pfxarchivos a menudo se ignoran .
it3xl
Creo que esta solución es la única adecuada para proyectos de Visula Studio Office.
it3xl
13

Agregar un nuevo certificado resolvió este problema por mí. Página de propiedades -> firma -> Haga clic en Crear certificado de prueba

moglimcgrath
fuente
¿Hay alguna manera de hacer esto en un servidor de compilación (a través de la línea de comando)?
ryanwebjackson
8

Asegúrese de enviar los .pfxarchivos al repositorio.

Acabo de encontrar *.pfxen mi defecto .gitignore. Comenta (por #) y confirma los cambios. Luego tire del repositorio y reconstruya.

ApceH Hipócrita
fuente
0

El problema de las entradas sobrantes erróneas en el archivo .csproj todavía ocurre con VS2015update3 y también puede ocurrir si intenta cambiar el certificado de firma por uno diferente (incluso si se genera usando la opción 'nuevo' en el menú desplegable de selección de certificado) . El consejo en la respuesta aceptada (marcar como no firmado, guardar, descargar proyecto, editar .csproj, eliminar las propiedades relacionadas con los antiguos certificados / huellas digitales / claves y recargar proyecto, configurar certificado) es confiable.

Simon Coleman
fuente
0

Creo una nueva clave, tuve que buscar en el csproj la antigua y refactorizarla.

Billy Jake O'Connor
fuente