Zestawy o silnych nazwach

Silna nazwa zestawu tworzy unikatową tożsamość dla zestawu i może zapobiegać konfliktom zestawu.

Co sprawia, że zestaw o silnej nazwie?

Zestaw o silnej nazwie jest generowany przy użyciu klucza prywatnego odpowiadającego kluczowi publicznemu dystrybuowanemu wraz z zestawem i samemu zestawowi. Zestaw zawiera manifest zestawu, który zawiera nazwy i skróty wszystkich plików, które wchodzą w skład zestawu. Zestawy, które mają taką samą silną nazwę, powinny być identyczne.

Zestawy o silnych nazwach można Visual Studio polecenia lub narzędzia wiersza polecenia. Aby uzyskać więcej informacji, zobacz How to: Sign an assembly with a strong name (Jak podpisać zestaw silną nazwą) lubSn.exe (narzędzie silnej nazwy).

Po utworzeniu zestawu o silnej nazwie zawiera on prostą nazwę tekstową zestawu, numer wersji, opcjonalne informacje o kulturze, podpis cyfrowy i klucz publiczny, który odpowiada kluczowi prywatnemu używanemu do podpisywania.

Ostrzeżenie

Ze względów bezpieczeństwa nie należy polegać na silnych nazwach. Zapewniają one tylko unikatową tożsamość.

Dlaczego zestawy mają silną nazwę?

W .NET Framework zestawy o silnych nazwach są przydatne w następujących scenariuszach:

  • Chcesz umożliwić odwołania do zestawów przez zestawy o silnych nazwach lub zapewnić dostęp do zestawów z innych zestawów o friend silnej nazwie.

  • Aplikacja musi mieć dostęp do różnych wersji tego samego zestawu. Oznacza to, że potrzebujesz różnych wersji zestawu do ładowania obok siebie w tej samej domenie aplikacji bez konfliktu. Jeśli na przykład w zestawach, które mają taką samą prostą nazwę, istnieją różne rozszerzenia interfejsu API, silne nazewnictwo zapewnia unikatową tożsamość dla każdej wersji zestawu.

  • Nie chcesz negatywnie wpływać na wydajność aplikacji korzystających z zestawu, więc chcesz, aby zestaw był neutralny dla domeny. Wymaga to silnego nazewnictwa, ponieważ zestaw neutralny dla domeny musi być zainstalowany w globalnej pamięci podręcznej zestawów.

  • Chcesz scentralizować obsługę aplikacji, stosując zasady wydawcy, co oznacza, że zestaw musi być zainstalowany w globalnej pamięci podręcznej zestawów.

W przypadku platform .NET Core i .NET 5+ zestawy o silnej nazwie nie zapewniają istotnych korzyści. Środowisko uruchomieniowe nigdy nie weryfikuje podpisu o silnej nazwie ani nie używa silnej nazwy do powiązania zestawu.

Jeśli jesteś deweloperem typu open source i chcesz uzyskać korzyści z tożsamości zestawu o silnej nazwie w celu zapewnienia lepszej zgodności z programem .NET Framework, rozważ sprawdzenie klucza prywatnego skojarzonego z zestawem w systemie kontroli źródła.

Zobacz też