Wie erkläre ich eine Freundschaftsversammlung?
Ich habe 2 Projekte in meiner Lösung:
Assembly (Basisbibliothek)Test Assembly (NUnit)Ich hatte die Test-Assembly im ersten Projekt als Freunde-Assembly deklariert:
[assembly: InternalsVisibleTo ("Company.Product.Tests")]
Alles hat gut funktioniert, bis mir klar wurde, dass ich vergessen habe, die Lösung zum Signieren meiner Baugruppen einzurichten. Erstellen Sie also eine snk-Datei und richten Sie das Visual Studio-Projekt ein, um die erste Assembly (Basic Library) zu signieren. Jetzt, wenn ich das erste Projekt kompiliere, erhalte ich folgende Fehlermeldung:
Die Friend Assembly-Referenz 'Company.Product.Tests' ist ungültig. Mit starken Namen signierte Assemblys müssen in ihren InternalsVisibleTo-Deklarationen einen öffentlichen Schlüssel angeben.
Ich habe versucht, den öffentlichen Schlüssel mit dem Dienstprogramm sn aus meiner snk-Datei zu extrahieren, aber es wird eine verdrahtete Binärdatei generiert, deren Verwendung ich nicht sicher bin. Wie kann ich das Problem beheben?