206 votes

"Impossible de trouver le certificat de signature du manifeste dans le magasin de certificats", même en ajoutant une nouvelle clé.

Je ne peux pas construire de projets avec une signature de clé de nom forte - le message du titre apparaît toujours.

Oui, le projet a été initialement copié à partir d'une autre machine. Cependant, même si j'ajoute une nouvelle clé via l'onglet Signer dans les propriétés du projet, cette erreur s'affiche toujours.

J'ai essayé d'exécuter Visual Studio en tant qu'administrateur et j'ai essayé d'ajouter manuellement les clés au magasin de certificats Windows.

¡Ayuda!

Edit : Je n'obtiens pas cette erreur avec un nouveau projet, mais j'aimerais bien faire fonctionner ce projet existant. Il ne fonctionne pas même si je crée un nouveau certificat !

6 votes

Quel type de projet VS ? Avez-vous également décoché l'option "Signer les manifestes ClickOnce" dans l'onglet "Signing" des propriétés du projet ?

0 votes

@Simon Mourier, si je décoche cette option, le fichier ne sera pas signé. Je veux qu'il soit signé ! C'est un projet C#. Il fonctionne bien sur ma machine de développement principale, mais pas sur l'ordinateur portable.

0 votes

Le message d'erreur s'affiche-t-il dans votre journal de construction ou d'une autre manière ? Il peut être utile de copier et coller le journal.

6voto

Ash Points 81

Allez dans les "Propriétés" de votre projet dans Visual Studio. Puis allez dans l'onglet signature.

Assurez-vous ensuite que l'option Signer les manifestes Click Once est désactivée.

OU

1. ouvrez le fichier .csproj dans le Bloc-notes.

Supprimez les informations suivantes relatives au certificat de signature dans le magasin de certificats. xxxxx xxxxxx xxxxxxxx.pfx vrai false `

Ça a marché pour moi.

4voto

dpminusa Points 11

En supposant qu'il s'agit d'un certificat personnel créé par Windows sur le système à partir duquel vous avez copié votre projet, vous pouvez utiliser le gestionnaire de certificats sur le système où se trouve maintenant le projet et importer le certificat. Démarrez le gestionnaire de certificats (certmgr) et sélectionnez les certificats personnels, puis faites un clic droit sous la liste des certificats existants et sélectionnez importer dans les tâches. Utilisez le navigateur pour trouver le .pfx dans le projet (le .pfx du système précédent que vous avez copié avec le projet). Il doit se trouver dans le sous-répertoire portant le même nom que le répertoire du projet. Je suis familier avec C# et VS, donc si ce n'est pas votre environnement, peut-être que le .pfx sera ailleurs ou peut-être que cette suggestion ne s'applique pas. Après l'importation, vous devriez obtenir un message d'état. Si vous avez réussi, l'erreur de certificat de compilation devrait avoir disparu. certmgr screen

0voto

QuangNHb Points 71

Pour signer un assemblage avec un nom fort en utilisant des attributs

Ouvrir AssemblyInfo.cs (en $(SolutionDir)\Properties )

le site AssemblyKeyFileAttribute ou le AssemblyKeyNameAttribute en spécifiant le nom du fichier ou du conteneur qui contient la paire de clés à utiliser pour signer l'assemblage avec un nom fort.

ajoutez le code suivant :

[assembly:AssemblyKeyFileAttribute("keyfile.snk")]

0voto

Owen Wengerd Points 1427

Il ne suffit pas d'ajouter manuellement des clés au magasin de certificats de Windows. Le certificat ne contient que la clé publique signée. Vous devez également importer la clé privée qui est associé à la clé publique du certificat. Un fichier .pfx contient les clés publiques et privées dans un seul fichier. C'est ce que vous devez importer.

0voto

Owen Wengerd Points 1427

Vous avez dit avoir copié des fichiers d'un autre ordinateur. Après les avoir copiés, les avez-vous "débloqués" ? En particulier, le fichier .snk doit être vérifié pour s'assurer qu'il n'est pas marqué comme dangereux.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X