Nasıl yapılır: Tanımlayıcı adlandırılmış bir derlemeye başvurma

Tanımlayıcı adlandırılmış bir derlemede türlere veya kaynaklara başvurma işlemi genellikle saydamdır. Başvuruyu derleme zamanında (erken bağlama) veya çalışma zamanında yapabilirsiniz.

Derleme zamanı başvurusu, derleyiciye derlenecek derlemenin başka bir derlemeye açıkça başvurduğunu belirttiğinizde oluşur. Derleme zamanı başvurularını kullandığınızda, derleyici hedeflenen tanımlayıcı adlı derlemenin ortak anahtarını otomatik olarak alır ve derlenen derlemenin derleme başvurusuna yerleştirir.

Not

Tanımlayıcı adlandırılmış bir derleme yalnızca diğer tanımlayıcı adlandırılmış derlemelerdeki türleri kullanabilir. Aksi takdirde, tanımlayıcı adlı derlemenin güvenliği tehlikeye girer.

Tanımlayıcı adlandırılmış bir derlemeye derleme zamanı başvurusu yapma

Komut isteminde aşağıdaki komutu yazın:

<derleyici komutu>/başvurusu:<derleme adı>

Bu komutta, derleyici komutu kullandığınız dilin derleyici komutudur ve derleme adı başvurulan tanımlayıcı adlı derlemenin adıdır. Kitaplık derlemesi oluşturmak için /t:library seçeneği gibi diğer derleyici seçeneklerini de kullanabilirsiniz.

Aşağıdaki örnek, myAssembly.cs adlı bir kod modülünden myLibAssembly.dll adlı tanımlayıcı adlandırılmış bir derlemeye başvuran myAssembly.dll adlı bir derleme oluşturur.

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

Tanımlayıcı adlandırılmış bir derlemeye çalışma zamanı başvurusu yapma

Örneğin veya Assembly.GetType yöntemini kullanarakAssembly.Load, tanımlayıcı adlandırılmış bir derlemeye çalışma zamanı başvurusu yaptığınızda, başvuruda bulunılan tanımlayıcı adlandırılmış derlemenin görünen adını kullanmanız gerekir. Görünen adın söz dizimi aşağıdaki gibidir:

<derleme adı,sürüm<> numarası,kültür,ortak><>< anahtar belirteci>

Örneğin:

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

Bu örnekte, PublicKeyToken ortak anahtar belirtecinin onaltılık biçimidir. Kültür değeri yoksa kullanın Culture=neutral.

Aşağıdaki kod örneğinde bu bilgilerin yöntemiyle nasıl kullanılacağı gösterilmektedir Assembly.Load .

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

Aşağıdaki Tanımlayıcı Ad (Sn.exe) komutunu kullanarak belirli bir derleme için ortak anahtarın ve ortak anahtar belirtecinin onaltılık biçimini yazdırabilirsiniz:

sn -Tp derlemesi <>

Ortak anahtar dosyanız varsa, bunun yerine aşağıdaki komutu kullanabilirsiniz (komut satırı seçeneğinde büyük/küçük harf farkını not edin):

sn -tp <ortak anahtar dosyası>

Ayrıca bkz.