Gör så här: Referera till en stark namngiven sammansättning
Processen för att referera till typer eller resurser i en stark namngiven sammansättning är vanligtvis transparent. Du kan göra referensen antingen vid kompileringstid (tidig bindning) eller vid körning.
En kompileringstidsreferens inträffar när du anger för kompilatorn att sammansättningen som ska kompileras uttryckligen refererar till en annan sammansättning. När du använder kompileringstidsreferenser hämtar kompilatorn automatiskt den offentliga nyckeln för den riktade starka namngivna sammansättningen och placerar den i sammansättningsreferensen för den sammansättning som kompileras.
Kommentar
En stark namngiven sammansättning kan bara använda typer från andra starka namngivna sammansättningar. Annars skulle säkerheten för den starkt namngivna sammansättningen äventyras.
Gör en kompileringstidsreferens till en stark namngiven sammansättning
Skriv följande kommando i kommandotolken:
<compiler command>/reference:<assembly name>
I det här kommandot är kompilatorkommandot kompilatorkommandot för det språk du använder, och sammansättningsnamnet är namnet på den starka namngivna sammansättning som refereras till. Du kan också använda andra kompilatoralternativ, till exempel alternativet /t:library för att skapa en bibliotekssammansättning.
I följande exempel skapas en sammansättning med namnet myAssembly.dll som refererar till en stark namngiven sammansättning med namnet myLibAssembly.dll från en kodmodul med namnet myAssembly.cs.
csc /t:library myAssembly.cs /reference:myLibAssembly.dll
Gör en körningsreferens till en stark namngiven sammansättning
När du gör en körningsreferens till en stark namngiven Assembly.Load sammansättning, till exempel med hjälp av metoden eller Assembly.GetType , måste du använda visningsnamnet för den refererade starka namngivna sammansättningen. Syntaxen för ett visningsnamn är följande:
<sammansättningsnamn,versionsnummer,kultur,offentlig>><<>< nyckeltoken>
Till exempel:
myDll, Version=1.1.0.0, Culture=en, PublicKeyToken=03689116d3a4ae33
I det här exemplet PublicKeyToken
är den hexadecimala formen av den offentliga nyckeltoken. Om det inte finns något kulturvärde använder du Culture=neutral
.
I följande kodexempel visas hur du använder den här informationen med Assembly.Load metoden.
Assembly^ myDll =
Assembly::Load("myDll, Version=1.0.0.1, Culture=neutral, PublicKeyToken=9b35aa32c18d4fb1");
Assembly myDll =
Assembly.Load("myDll, Version=1.0.0.1, Culture=neutral, PublicKeyToken=9b35aa32c18d4fb1");
Dim myDll As Assembly = _
Assembly.Load("myDll, Version=1.0.0.1, Culture=neutral, PublicKeyToken=9b35aa32c18d4fb1")
Du kan skriva ut hexadecimalt format för den offentliga nyckeln och den offentliga nyckeltoken för en specifik sammansättning med hjälp av följande kommando för starkt namn (Sn.exe):
sn -Tp-sammansättning < >
Om du har en offentlig nyckelfil kan du använda följande kommando i stället (observera skillnaden i fallet med kommandoradsalternativet):
sn -tp < offentlig nyckelfil >
Se även
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för