Assembly isimlendirmesi - Bilisim Kulubu
SORU: Assembly isimlendirmesi
Global Assembly Cache (GAC) ne demektir ? Private assembly naming 'den farkı nedir ? Yardımlarınızı esirgemeyin.
1. Visual Studio'da mutlaka projenize referans eklemissinizdir. Bu islemi yapmak istediginizde açilan "Add Refence" penceresine dikkat edin. Bu pencerede .Net sekmesinde listelenmis assembly'ler (dll'ler) vardir, ayrica Browse butonunu kullanarak diskinizdeki herhangi bir dll dosyasini seçip projenize ekleyebilirsiniz.
Neden bazi dll'ler listelenmis olarak görünüyor, bazilari da browse butonu ile seçiliyor?
Listelenmis olan dll'ler GAC'den gelir. GAC windows dizini altindaki ozel bir dizinde bulunan dll'lerdir. Eger kendi dll'inizi bu dizine kopyalarsaniz GAC'e koymus olursaniz. Sizin dll'iniz de GAC listesinde çikmaya baslar. GAC'den (.Net sekmesindeki listedeki dll'lerden) bir dll'i projenize referans olarak eklerseniz, bu dll sizin projenizle ayni dizine kopyalanmaz. Çünkü o dll cash'dedir zaten. CLR onun yerini biliyor. Iste boyle dll'lere shared assembly denir. Bunlarin durdugu yere de GAC.
Browse butonunu kullanarak projenize eklediginiz dll ise projenizin dizinine kopyalanir. Bu dll'i projenizle beraber tasimak zorundasinizdir. Bu tür dll'lere de private assembly denir.
29 Mayıs 2005 20:28
2. Shared assembly'ler <windows dizini>\assembly dizini altında bulunur. (Burada windows dizini c:\windows veya c:\winnt gibi dizinler olabilir.) Bu DLL 'leri gacutil.exe adındaki kullanışlı programla command line'dan görebilir, kurabilir veya silebilirsiniz. Örnek gacutil.exe parametreleri :
gacutil /l >> Assembly cache'deki tüm assembly 'leri göstertir.
gacutil /i mrok.dll >> mrok.dll assembly cache 'e yüklenir.
gacutil /u mrok.dll >> mrok.dll assembly cache 'den silinir.
Not : gacutil 'e Visual Studio.NET Command Prompt 'dan ulaşabilirsiniz.
29 Mayıs 2005 20:53
3. <windows dizini>\assembly klasörüne gerekli dll sürükle bırak yöntemiyle de yüklenebiliyor. aynı dizinde assembly seçip sağ tıkladıktan sonra uninstall/kaldır seçeneği ile GAC'den çıkarabiliyoruz.
29 Mayıs 2005 23:10
» Assembly » bkz++
» Bakınız » Mysql'in Başarısı » Single File Assembly » Multi File Assembly » Shared Assembly » Application Private Assembly » iğrenç espriler