Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Stark namngivning av en sammansättning skapar en unik identitet för sammansättningen och kan förhindra sammansättningskonflikter.
Vad utmärker en starknamnad samling?
En stark namngiven sammansättning genereras med hjälp av den privata nyckeln som motsvarar den offentliga nyckeln som distribueras med sammansättningen och själva sammansättningen. Sammansättningen innehåller sammansättningsmanifestet, som innehåller namn och hashvärden för alla filer som utgör sammansättningen. Sammansättningar som har samma starka namn bör vara identiska.
Du kan starknamnge assemblyn med hjälp av Visual Studio eller ett kommandoradsverktyg. För mer information, se Så här: Signera en assembly med ett starkt namn eller Sn.exe (verktyg för starka namn).
När en stark namngiven sammansättning skapas innehåller den det enkla textnamnet för sammansättningen, versionsnumret, valfri kulturinformation, en digital signatur och den offentliga nyckeln som motsvarar den privata nyckel som används för signering.
Varning
Förlita dig inte på starka namn för säkerhet. De ger endast en unik identitet.
Varför namnger du dina sammansättningar?
För .NET Framework är starka namngivna sammansättningar användbara i följande scenarier:
Du vill att dina sammansättningar ska refereras av starka namngivna sammansättningar, eller så vill du ge
friendåtkomst till dina sammansättningar från andra starka namngivna sammansättningar.En app behöver åtkomst till olika versioner av samma sammansättning. Det innebär att du behöver olika versioner av en assembly för att ladda bredvid varandra i samma appdomän utan konflikt. Om det till exempel finns olika tillägg för ett API i sammansättningar som har samma enkla namn, ger stark namngivning en unik identitet för varje version av sammansättningen.
Du vill inte påverka prestandan för appar som använder din sammansättning negativt, så du vill att sammansättningen ska vara domänneutral. Detta kräver ett starkt namn eftersom en domän-neutral assembly måste installeras i den globala assembly-cacheminnet.
Du vill centralisera service för din app genom att tillämpa utgivarprincip, vilket innebär att sammansättningen måste installeras i den globala sammansättningscachen.
För .NET Core och .NET 5+ ger starka namngivna sammansättningar inga väsentliga fördelar. Körningen validerar aldrig signaturen för starka namn och använder inte heller starka namn för sammansättningsbindning.
Om du är utvecklare med öppen källkod och vill ha identitetsfördelarna med en starkt namngiven sammansättning för bättre kompatibilitet med .NET Framework kan du överväga att checka in den privata nyckeln som är associerad med en sammansättning till källkontrollsystemet.