Ich verwende das Attribut "InternalsVisibleTo" mit einer Assembly, um die internen Methoden/Klassen für mein Komponententestprojekt verfügbar zu machen.Wie Verwenden des "InternalsVisibleTo" -Attributs mit einer Assembly mit starkem Namen?
Ich muss jetzt diese Baugruppe in den GAC installieren, also muss ich ihm einen starken Namen geben. Wenn ich das tue, erhalte ich den folgenden Fehler in Visual Studio.
Strong-Namen unterzeichnet Baugruppen müssen einen öffentlichen Schlüssel in ihre InternalsVisibleTo Erklärungen geben
Ein bisschen Googlen brachte mich unten an den Artikel:
https://msdn.microsoft.com/en-us/library/bb763089.aspx
Dieser Artikel heißt es:
"Bestimmen Sie die Pu blic Schlüssel für die starke-named Freundversammlung. "
Dieser Artikel enthält keine Informationen zum Ermitteln des öffentlichen Schlüssels. Wo finde ich den öffentlichen Schlüssel für die Versammlung? Wenn ich den öffentlichen Schlüssel habe, wäre das der richtige Weg, das Attribut zu deklarieren?
[assembly: InternalsVisibleTo("Namespace.Assembly.Example.Name, PublicKey=ThePublicKey")]
Google ".net Assembly öffentlichen Schlüssel" und den ersten Treffer. –
Ich habe das versucht. Es heißt, SN.exe zu verwenden, aber das funktioniert nur, wenn die Assembly stark signiert ist. Ich kann meine Assembly aufgrund des oben genannten Fehlers nicht als stark typisiert kompilieren. SN.exe gibt den Fehler ".dll stellt keine stark benannte Assembly dar" – Dave
Scheint, du hast das Huhn und das Ei umgekehrt, du brauchst den öffentlichen Schlüssel der * anderen * Assembly. –