Używam atrybutu "InternalsVisibleTo" w zespole do ujawnienia wewnętrznych metod/klas do mojego projektu testu jednostkowego.Jak korzystać z atrybutu "InternalsVisibleTo" z silnie nazwanym złożeniem?
Muszę teraz zainstalować ten zestaw w GAC, więc muszę nadać mu silne imię. Kiedy próbuję to zrobić, pojawia się następujący błąd w Visual Studio.
Strong-name podpisane zespoły muszą określić klucz publiczny w swoich deklaracjach InternalsVisibleTo
Trochę Googling przyniósł mi do artykułu poniżej:
https://msdn.microsoft.com/en-us/library/bb763089.aspx
Artykuł ten stanowi:
"Określić warunki klucz do bliskiego zgromadzenia przyjaciół. "
W tym artykule nie podano sposobu określenia klucza publicznego. Gdzie znajdę klucz publiczny do montażu? Ponadto, gdy już mam klucz publiczny, czy byłby to właściwy sposób deklarowania atrybutu?
[assembly: InternalsVisibleTo("Namespace.Assembly.Example.Name, PublicKey=ThePublicKey")]
Google "klucz publiczny zespołu .net" i wykonaj pierwsze trafienie. –
Próbowałem tego. Mówi o użyciu SN.exe, ale działa to tylko wtedy, gdy złożenie jest mocno podpisane. Nie mogę zmusić zespołu do kompilacji, ponieważ jest mocno napisany z powodu powyższego błędu. SN.exe daje błąd ".dll nie reprezentuje mocno nazwanego zestawu" – Dave
Wygląda na to, że masz odwrócony kurczak i jajko, potrzebujesz klucza publicznego zespołu * innego *. –