Comment utiliser “InternalsVisibleTo attribut nommé Fortement de l'assemblée?

Je suis l'aide de la "InternalsVisibleTo" attribut avec une assemblée pour exposer les méthodes internes/classes de mon projet de test d'unité.

J'ai maintenant besoin d'installer cet assembly dans le GAC, donc j'ai besoin de lui donner un nom fort. Quand j'essaie de le faire, j'obtiens l'erreur suivante dans Visual Studio.

De nom fort signé assemblées devez spécifier une clé publique dans leur InternalsVisibleTo déclarations

Un peu de recherche sur Google m'a amené à l'article ci-dessous:

https://msdn.microsoft.com/en-us/library/bb763089.aspx

Cet article dispose:

"Déterminer la clé publique pour le nom fort ami de l'assemblée."

Cet article ne dit pas comment déterminer la clé publique. Où puis-je trouver la clé publique de l'assemblée? Aussi, une fois que j'ai la clé publique, serait-ce la bonne façon de déclarer l'attribut?

[assembly: InternalsVisibleTo("Namespace.Assembly.Example.Name, PublicKey=ThePublicKey")]
J'ai essayé aussi. Il est dit d'utiliser SN.exe mais qui ne fonctionne que lorsque l'assemblée est fortement signé. Je ne peux pas obtenir mon montage pour compiler comme fortement typé en raison de l'erreur ci-dessus. SN.exe donne l'erreur ".dll ne pas représenter un nommé fortement de l'assemblée"
Semble que vous avez la poule et de l'œuf inversée, vous avez besoin de la clé publique de la de l'assemblée.
Votre "ami" de l'assemblée être fortement signé pour être utilisable dans "internes visibles" et vous avez besoin de jeton de l'autre assemblée.
La clé publique de mon test de l'unité de l'assemblée?

OriginalL'auteur Dave | 2015-06-19