Pourquoi est-ce que je reçois «Impossible de trouver le certificat de signature de manifeste dans le magasin de certificats» dans mon complément Excel?

216

J'ai un projet de complément Excel qui a été créé il y a quelques années dans Visual Studio 2008. Il a quelques modifications à apporter, j'ai donc mis à niveau vers Visual Studio 2010 (le seul IDE que je suis capable d'utiliser). Je ne sais pas si cela cause le problème, mais ce sont des informations générales.

Lorsque j'extraye le code et le compile, j'obtiens l'erreur "Erreur 1 Impossible de trouver le certificat de signature manifeste dans le magasin de certificats".

Quelqu'un peut-il me dire ce que cela signifie et comment y remédier?

Andy Parsons
la source

Réponses:

250

Vous devez rajouter ce certificat à votre machine ou choisir un autre certificat.

Pour choisir un autre certificat ou pour en recréer un, rendez-vous sur la page des propriétés du projet, cliquez sur l'onglet Signature et

  • Cliquez sur Sélectionner dans le magasin
  • Cliquez sur Sélectionner dans le fichier
  • Cliquez sur Créer un certificat de test

Une fois que l'une de ces opérations est terminée, vous devriez pouvoir la reconstruire.

Sathyajith Bhat
la source
134
Dans, Project's properties pagevous pouvez Signing tabensuite décocher la case "Signer les manifestes ClickOnce".
Rubens Mariuzzo
10
@RubensMariuzzo - pas si vous voulez vraiment le signer
Matt Wilko
La décoche est impossible pour les compléments Office et sera vérifiée à nouveau.
it3xl
1
Comment l'opération "Créer un certificat de test" peut-elle être effectuée sur un serveur de génération?
ryanwebjackson
138

J'ai trouvé cette solution qui a résolu le problème pour moi: supprimer toutes les entrées de votre *.csprojqui tombent dans:

<manifestcertificatethumbprint>...</manifestcertificatethumbprint>
<manifestkeyfile>...</manifestkeyfile>
<generatemanifests>...</generatemanifests>
<signmanifests>...</signmanifests>
Wernight
la source
1
Cela est nécessaire lorsque l'application était alors ClickOnce mais ne l'est plus (case à cocher grisée dans l'onglet Signature)
Dan Bechard
1
aussi travaillé pour moi. apparemment, il y avait des restes dans le fichier de projet provenant d'expériences que nous avons faites sur celui-ci et qui devaient être nettoyés manuellement. BTW - J'ai également dû supprimer le fichier .snk du projet. donc pour moi, c'était: supprimer .snk, désactiver la signature, modifier le fichier de projet, recharger le projet et activer la signature.
OSH
Apparemment nécessaire si vous aviez déjà vérifié ClickOnce puis passé à Sign Assembly.
Roland
1
C'est la meilleure réponse.
Homam
3
La désactivation de la "Signature du manifeste ClientOnce" ne fonctionne pas toujours. La solution consiste à supprimer les lignes mentionnées de vos fichiers csproj
nectar
98

Une solution rapide pour me lancer consistait à décocher la case "Signer les manifestes ClickOnce" dans: Projet -> (nom du projet) Propriétés -> Onglet Signature

Rudy
la source
1
J'ai dû décocher les deux Sign the ClickOnce manifestset Sign the assemblycocher les cases sous l'onglet signature dans les propriétés du projet pour me débarrasser du problème. Je n'utilisais aucune signature.
RBT
13

Lorsque le projet a été créé à l'origine, le certificat de signature à clic unique a été ajouté dans l'onglet de signature des propriétés du projet. Cela signe le manifeste à clic unique lorsque vous le créez. D'ici là, ce certificat n'est plus disponible. Soit ce n'était pas la machine sur laquelle vous l'aviez initialement construite, soit elle a été nettoyée d'une manière ou d'une autre. Vous devez rajouter ce certificat à votre machine ou choisir un autre certificat.

Gardner
la source
24
"Vous devez rajouter ce certificat à votre machine ou choisir un autre certificat." Si vous savez comment ajouter le certificat, il serait très utile d'indiquer le comment dans ce fil ou un lien vers le comment dans ce fil. En l'état, votre réponse n'est qu'une demi-réponse.
1
Page Propriétés du projet> Signingdans les onglets verticaux> Cliquez sur Create test certificate. Et n'oubliez pas de valider un nouveau fichier créé You.Project_TemporaryKey.pfxcar les .pfxfichiers sont souvent ignorés .
it3xl
Je pense que cette solution est la seule appropriée pour les projets Visula Studio Office.
it3xl
13

L'ajout d'un nouveau certificat a résolu ce problème pour moi. Page des propriétés -> signature -> Cliquez sur Créer un certificat de test

moglimcgrath
la source
Existe-t-il un moyen de le faire sur un serveur de build (via la ligne de commande)?
ryanwebjackson
8

Assurez-vous de valider les .pfxfichiers dans le référentiel.

Je viens de trouver *.pfxdans mon défaut .gitignore. Commentez-le (par #) et validez les modifications. Tirez ensuite le référentiel et reconstruisez.

ApceH Hypocrite
la source
0

Le problème des entrées restantes erronées dans le fichier .csproj se produit toujours avec VS2015update3 et peut également se produire si vous essayez de changer le certificat de signature pour un autre (même si celui-ci est généré en utilisant l'option `` nouveau '' dans la liste déroulante de sélection de certificat) . Les conseils dans la réponse acceptée (marquer comme non signé, enregistrer, décharger le projet, modifier .csproj, supprimer les propriétés relatives aux anciens certificats / empreintes / clés et recharger le projet, définir le certificat) sont fiables.

Simon Coleman
la source
0

Je crée une nouvelle clé, j'ai dû rechercher le csproj pour l'ancien et le refactoriser.

Billy Jake O'Connor
la source