Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Door een assembly een sterke naam te geven, wordt een unieke identiteit voor de assembly gemaakt en kunnen assemblyconflicten worden voorkomen.
Wat maakt een assembly met een sterke naam?
Een sterk benoemde assembly wordt gegenereerd met behulp van de private sleutel, die overeenkomt met de openbare sleutel die met de assembly is gedistribueerd, en de assembly zelf. De assembly bevat het assemblymanifest, dat de namen en hashes bevat van alle bestanden waaruit de assembly bestaat. Assembly's met dezelfde sterke naam moeten identiek zijn.
U kunt assemblies een sterke naam geven met behulp van Visual Studio of een opdrachtregelprogramma. Voor meer informatie, zie Hoe: Een assembly ondertekenen met een sterke naam of Sn.exe (hulpprogramma Sterke naam).
Wanneer een sterk benoemde assembly wordt gemaakt, bevat deze de eenvoudige tekstnaam van de assembly, het versienummer, optionele cultuurinformatie, een digitale handtekening en de openbare sleutel die overeenkomt met de persoonlijke sleutel die wordt gebruikt voor ondertekening.
Waarschuwing
Vertrouw niet op sterke namen voor beveiliging. Ze bieden alleen een unieke identiteit.
Waarom uw assemblies een sterke naam geven?
Voor .NET Framework zijn sterk benoemde assembly's handig in de volgende scenario's:
U wilt inschakelen dat naar uw assembly's wordt verwezen door sterk benoemde assembly's of dat u toegang wilt verlenen
friend
tot uw assembly's van andere sterk benoemde assembly's.Een app heeft toegang nodig tot verschillende versies van dezelfde assembly. Dit betekent dat u verschillende versies van een assembly nodig hebt om naast elkaar te laden in hetzelfde app-domein zonder conflict. Als er bijvoorbeeld verschillende extensies van een API bestaan in assembly's met dezelfde eenvoudige naam, biedt sterke naamgeving een unieke identiteit voor elke versie van de assembly.
U wilt de prestaties van apps die gebruikmaken van uw assembly niet negatief beïnvloeden, dus u wilt dat de assembly domeinneutraal is. Hiervoor is een sterke naamgeving vereist, omdat een domeinneutrale assembly moet worden geïnstalleerd in de globale assemblycache.
U wilt het onderhoud voor uw app centraliseren door uitgeversbeleid toe te passen, wat betekent dat de assembly moet worden geïnstalleerd in de globale assemblycache.
Voor .NET Core en .NET 5+ bieden sterk-gedefinieerde assemblies geen significante voordelen. De runtime valideert nooit de handtekening met een sterke naam en gebruikt de sterke naam ook niet voor assembly-binding.
Als u een opensource-ontwikkelaar bent en u de identiteitsvoordelen van een sterk benoemde assembly wilt gebruiken voor betere compatibiliteit met .NET Framework, kunt u overwegen om de persoonlijke sleutel te controleren die is gekoppeld aan een assembly in uw broncodebeheersysteem.