2009-05-20 16 views
3

Dans Propriétés du projet de Visual Studio -> onglet Signature, j'ai signé mon projet avec un certificat de signature de code. Dans mon équipe, cependant, je suis le seul à détenir le certificat de signature de code, même si nous sommes dans un environnement de développeurs multiples. Lorsque les autres développeurs essaient de « Start Debugging », ils obtiennent le message suivant:Dans Visual Studio, puis-je désactiver la signature de mon application lors du débogage?

« ne peut pas trouver le certificat qui correspond au système projet thumbprint »

quelqu'un a des suggestions pour leur permettre de déboguer leur projet, mais seulement me permettre de publier?

Répondre

3

Une chose qui pourrait fonctionner est d'ajouter un événement de post-construction pour appeler un script qui effectue votre signature. Vous pouvez utiliser quelque chose comme signtool.exe pour signer les fichiers lorsque vous les publiez.

Vous pouvez faire plusieurs versions d'un fichier de script, par exemple: Debug_sign.bat, Release_sign.bat

Ensuite, dans la commande de l'événement après génération:
appel « $ (ProjectDir) $ (ConfigurationName) _sign.bat "
appelle le script correct en fonction de votre cible.

Seul le script de version signait réellement les fichiers de sortie. Le fichier de script de débogage pourrait simplement ne rien faire ..

Je l'ai utilisé signtool de signer un assemblage avec un .pfx comme ceci:
signe SignTool.exe/f "codesign_cert.pfx"/p "cert_password"/d "Description de l'application"/du "http://mywebsite" myApp.exe

+0

Toute idée quelle syntaxe signtool.exe je pourrais utiliser pour un projet Excel Workbook VSTO? –

+0

Je travaille sur quelques détails, mais c'est exactement ce dont nous avions besoin. Merci! –

+0

Je pense que cela dépend de la façon dont vous déployez .. si vous utilisez ClickOnce, je crois que vous devez signer le manifeste (je n'ai pas encore déployé avec cette méthode). Dans le passé, j'ai créé des projets Outlook VSTO et déployé en utilisant un programme d'installation msi - j'ai signé mon setup.exe, msi en utilisant signtool, mais j'ai signé ma DLL en utilisant la signature intégrée de VS. – markt

1

Est-ce que delayed signing ferait l'affaire pour vous?

+0

Étonnamment, non. "Lorsque le délai est signé, le projet ne s'exécute pas ou ne peut pas être débogué." Ceci peut uniquement s'appliquer aux projets VSTO. –

+0

Aucune chance que ce soit encore pertinent pour l'OP mais pour la postérité, de [social.msdn] (http://social.msdn.microsoft.com/Forums/en/csharpide/thread/e8cf89b9-6092-4b65-814e-5e2f47dc7aee): la signature de délai peut fonctionner si ... "le saut de vérification de nom fort a été activé pour ces assemblages partiellement signés". – Jonno

Questions connexes