Sestavení se silným názvem

Silné pojmenování sestavení vytvoří jedinečnou identitu sestavení a může zabránit konfliktům sestavení.

Co dělá sestavení se silným názvem?

Silné pojmenované sestavení se generuje pomocí privátního klíče, který odpovídá veřejnému klíči distribuovanému se sestavením a samotným sestavením. Sestavení obsahuje manifest sestavení, který obsahuje názvy a hodnoty hash všech souborů, které tvoří sestavení. Sestavení se stejným silným názvem by měla být stejná.

Sestavení se silným názvem můžete vytvořit pomocí sady Visual Studio nebo nástroje příkazového řádku. Další informace naleznete v tématu Postupy: Podepsání sestavení silným názvem nebo Sn.exe (nástroj Silný název).

Při vytvoření sestavení se silným názvem obsahuje jednoduchý textový název sestavení, číslo verze, volitelné informace o jazykové verzi, digitální podpis a veřejný klíč, který odpovídá privátnímu klíči použitému k podepisování.

Upozorňující

Nespoléhejte na silné názvy zabezpečení. Poskytují pouze jedinečnou identitu.

Proč sestavení se silným názvem?

Pro rozhraní .NET Framework jsou sestavení se silným názvem užitečná v následujících scénářích:

  • Chcete povolit, aby sestavení odkazovala na sestavení se silným názvem, nebo chcete udělit friend přístup k sestavením z jiných sestavení se silným názvem.

  • Aplikace potřebuje přístup k různým verzím stejného sestavení. To znamená, že potřebujete různé verze sestavení pro souběžné načtení ve stejné doméně aplikace bez konfliktu. Pokud například existují různá rozšíření rozhraní API v sestaveních se stejným jednoduchým názvem, poskytuje silné pojmenování jedinečnou identitu pro každou verzi sestavení.

  • Nechcete mít negativní vliv na výkon aplikací používajících sestavení, takže chcete, aby sestavení bylo neutrální v doméně. To vyžaduje silné pojmenování, protože v globální mezipaměti sestavení sestavení musí být nainstalováno sestavení neutrální domény.

  • Chcete centralizovat údržbu aplikace použitím zásad vydavatele, což znamená, že sestavení musí být nainstalováno v globální mezipaměti sestavení.

V případě .NET Core a .NET 5 nebo novějších sestavení se silným názvem neposkytují materiálové výhody. Modul runtime nikdy neověřuje podpis silného názvu ani nepoužívá silný název pro vazbu sestavení.

Pokud jste opensourcový vývojář a chcete mít výhody identit sestavení se silným názvem pro lepší kompatibilitu s rozhraním .NET Framework, zvažte vrácení privátního klíče přidruženého k sestavení do systému správy zdrojového kódu.

Viz také