Bagikan melalui


Cara untuk: Mereferensikan assembly yang dengan nama yang kuat

Proses untuk mereferensikan jenis atau sumber daya dalam assembly dengan nama yang kuat biasanya transparan. Anda dapat membuat referensi baik pada waktu kompilasi (ikatan awal) atau pada durasi.

Referensi waktu kompilasi terjadi saat Anda menunjukkan kepada pengompilasi bahwa assembly yang akan dikompilasi secara eksplisit mereferensikan assembly lain. Saat Anda menggunakan referensi waktu kompilasi, pengompilasi secara otomatis mendapatkan kunci umum assembly dengan nama yang kuat yang ditargetkan dan menempatkannya di referensi assembly dari assembly yang sedang dikompilasi.

Catatan

Assembly dengan nama yang kuat hanya dapat menggunakan jenis dari assembly dengan nama yang kuat lainnya. Jika tidak, integritas assembly dengan nama yang kuat akan dikrompomikan.

Membuat referensi waktu kompilasi ke assembly dengan nama yang kuat

Di bagian perintah, ketik perintah berikut:

<compiler command>/reference:<assembly name>

Dalam perintah ini, perintah pengompilasi adalah perintah pengompilasi untuk bahasa yang Anda gunakan, dan nama assembly adalah nama assembly dengan nama yang kuat yang direferensikan. Anda juga dapat menggunakan opsi pengompilasi lainnya, seperti opsi /t:library untuk membuat assembly assembly.

Contoh berikut membuat assembly yang disebut myAssembly.dll yang mereferensikan asembly dengan nama yang kuat yang disebut myLibAssembly.dll dari modul kode yang disebut myAssembly.cs.

csc /t:library myAssembly.cs /reference:myLibAssembly.dll  

Membuat referensi durasi kompilasi ke assembly dengan nama yang kuat

Saat Anda membuat referensi durasi ke assembly dengan nama yang kuat, misalnya dengan menggunakan metode Assembly.Load atau Assembly.GetType , Anda harus menggunakan nama tampilan assembly dengan nama yang kuat yang direferensikan. Sintaks nama tampilan adalah sebagai berikut:

<assembly name>,<version number>,<culture>,<public key token>

Contohnya:

myDll, Version=1.1.0.0, Culture=en, PublicKeyToken=03689116d3a4ae33

Dalam contoh ini, PublicKeyToken adalah bentuk heksadesimal dari token kunci umum. Jika tidak ada nilai budaya, gunakan Culture=neutral.

Contoh kode berikut menunjukkan cara menggunakan informasi ini dengan Assembly.Load metode .

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")

Anda dapat mencetak format heksadesimal kunci umum dan token kunci umum untuk assembly tertentu dengan menggunakan perintah Strong Name (Sn.exe) berikut:

sn -Tp < assembly >

Jika Anda memiliki file kunci umum, Anda dapat menggunakan perintah berikut (perhatikan perbedaannya jika ada pada opsi baris perintah):

file kunci publik sn -tp < >

Lihat juga