Je ne peux pas créer de projets avec une signature de clé de nom forte - le message dans le titre revient 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 Signature dans les propriétés du projet, cette erreur est toujours affichée.
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.
Aidez-moi!
Edit: Je n'obtiens pas cette erreur avec un nouveau projet, mais j'aimerais bien que ce projet existant fonctionne. Cela ne fonctionnera pas même si je crée un nouveau certificat!
Réponses:
J'ai enfin trouvé la solution et j'espère vraiment que cela aidera quelqu'un d'autre aussi.
.csproj
fichier du projet en question.Supprimez les lignes de code suivantes:
la source
ManifestCertificateThumbprint
etManifestKeyFile
résoudre le problème.Accédez aux "Propriétés" de votre projet dans Visual Studio. Ensuite, allez dans l'onglet signature.
Assurez-vous ensuite que Sign the Click Once manifestest est désactivé.
Instructions mises à jour:
Dans votre explorateur de solutions:
la source
C'est simple!!
J'ai résolu ce problème en suivant ces étapes:
C'est tout!!
la source
Supprimez les informations suivantes relatives à la signature du certificat dans le magasin de certificats
la source
Essayez ceci: Faites un clic droit sur votre projet -> Allez dans les propriétés -> Cliquez sur la signature qui se trouve sur le côté gauche de l'écran -> Décochez la case Signer le clic une fois manifestes -> Enregistrer et construire
la source
Accédez à vos projets "Propriétés" dans Visual Studio. Ensuite, allez dans l'onglet signature.
Assurez-vous ensuite que Sign the Click Once manifestest est désactivé.
OU
1.Ouvrez le fichier .csproj dans le Bloc-notes.
2.Supprimez les informations suivantes relatives à la signature du certificat dans le magasin de certificats xxxxx xxxxxx xxxxxxxx.pfx true false `
A travaillé pour moi.
la source
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 actuellement le projet et importer le certificat. Démarrez le gestionnaire de certificats (certmgr) et sélectionnez les certificats personnels puis cliquez avec le bouton droit de la souris sous la liste des certificats existants et sélectionnez importer dans les tâches. Utilisez la navigation 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 connais 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 recevoir un message d'état. Si vous réussissez, l'erreur de certificat de compilation devrait avoir disparu.
la source
Il ne suffit pas d'ajouter manuellement des clés au magasin de certificats Windows. Le certificat contient uniquement la clé publique signée. Vous devez également importer la clé privée associée à la clé publique dans le certificat. Un fichier .pfx contient les clés publiques et privées dans un seul fichier. C'est ce que vous devez importer.
la source
Vous avez dit que vous avez copié des fichiers depuis un autre ordinateur. Après les avoir copiés, les avez-vous «débloqués»? Plus précisément, le fichier .snk doit être vérifié pour s'assurer qu'il n'est pas marqué comme dangereux.
la source
Pour signer un assembly avec un nom fort à l'aide d'attributs
Ouvert
AssemblyInfo.cs
(en$(SolutionDir)\Properties
)le
AssemblyKeyFileAttribute
ou leAssemblyKeyNameAttribute
, en spécifiant le nom du fichier ou du conteneur qui contient la paire de clés à utiliser lors de la signature de l'assembly avec un nom fort.ajoutez le code suivant:
la source
Si vous avez juste besoin de créer le projet ou la solution localement, la suppression de la signature peut être une solution très simple, comme d'autres le suggèrent.
Mais si vous rencontrez cette erreur sur votre serveur de construction d'automatisation comme TeamCity où vous créez vos pièces de version réelles pour le déploiement ou la distribution, vous voudrez peut-être réfléchir à la façon dont vous pouvez obtenir ce certificat correctement installé dans le magasin de certificats sur la machine de construction, afin d'obtenir un paquet signé à la fin de la construction.
En général, il n'est pas recommencé à enregistrer / valider des certificats PFX dans le contrôle de code source, donc comment obtenir ces fichiers sur votre serveur de construction pendant le processus de construction est un peu une autre question, mais parfois les gens ont ce fichier stocké avec la solution code afin que vous puissiez le trouver dans le dossier du projet.
Tout ce que vous avez à faire est simplement d'installer ce certificat sous le compte approprié sur votre serveur de build.
Téléchargez PsExec à partir de Windows Sysinternals .
Ouvrez une invite de commande et entrez ce qui suit. Il engendrera une nouvelle invite de commande, exécutée en tant que système local (en supposant que votre TeamCity fonctionne sous le compte système local par défaut):
> psexec.exe -i -s cmd.exe
Dans cette nouvelle invite de commande, accédez au répertoire contenant le certificat et entrez le nom du fichier à installer (remplacez le nom du fichier par le vôtre):
> mykey.pfx
L'assistant d'importation de certificat démarre. Cliquez sur et sélectionnez toutes les valeurs par défaut suggérées.
Exécutez la compilation.
Tous les crédits vont à Stuart Noble (et ensuite à Laurent Kempé je crois ☺).
la source