tam anlamadim hocam neden referanslari bu sekilde verdigini, bunu yapmadan da halledebilirdin aslinda. Ben gui tabanli plugin manager yazdim c# ile , orada otomatik olarak dll leri resolve ediyorum ve daha nce GAC a yüklenmisse tekrar yükletmiyor. Bunun icin. Net in sundugu 2 teknoloji var MAF ve MEF. Bunlari birlestirerek yaptik. Bundan sonra ayni dll lleri kullanan pluginler yüklendiginde, bagimli dll leri daha nce yüklenmisse tekrar yüklemiyor, yüklenmemisse onlari yüklüyor. Hepsi signed dll oldugu icin de farkli versiyonlari da yüklettiriyoruz. Yani biri digerdll v1.0 i kullaniyor, diger plugin digerdll v1.2 yi kullaniyor olsa da iki dll i de yüklüyoruz ve pluginler kendine ait dll leri kullaniyor . Baya karisik bir konu, zaten bu konuyla ilgili rnek acikcasi bulamadim, herkes sadece senin gibi dll fonksiyonlarini cagirmis ancak bize gui tabanli bir plugin sistemi lazimdi. Merak edenler icin ilk asamalarinda cektigim bir resmi ekleyeyim Sol allta pluginler var, bir pluginden birden fazla instance olusturulabiliyor ve instance secildiginde sag da ilgili pluginin formu beliriyor ve tüm pluginler aslinda birer dll. Ayni zamanda bu pluginlerin bir de windows servisleri var. Bizim konsol uygulamamizin grevi bu pluginleri ve onlarin bagimliliklarini yükleyerek gstermek ve pluginin servisini kontrol etmek. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Merhaba sevgili dostlar, umarım herkes iyidir. Bir konuda takıldım ve işin içinden de çıkamadım. Runtime anında daha nceden oluşturduğum bir class library yi load edip icerisindeki metodu calistiriyorum. Buraya kadar sıkıntı yok. Sorun şu noktada başlıyor ; Library'e framework disi üçüncü parti bir referans eklediğimde ve kodu compile ettiğimde çıktısıs benim. dll ve diğer. dll seklinde oluyor. benim. dll'i runtime'da cagirdiğimda haliyle diğer. dll'i bulamadım diyor. Bu noktada benim. dll'i tüm gereksinimleri ile yani diğer. dll ve varsa baska referansları ile runtime'da nasıl load edebiliri m? class Program { static void Main } Muaddib tarafından 28/Eyl/17 11:26 tarihinde düzenlenmiştir sic mundus creatus est

tam anlamadim hocam neden referanslari bu sekilde verdigini, bunu yapmadan da halledebilirdin aslinda. Ben gui tabanli plugin manager yazdim c# ile , orada otomatik olarak dll leri resolve ediyorum ve daha nce GAC a yüklenmisse tekrar yükletmiyor. Bunun icin. Net in sundugu 2 teknoloji var MAF ve MEF. Bunlari birlestirerek yaptik. Bundan sonra ayni dll lleri kullanan pluginler yüklendiginde, bagimli dll leri daha nce yüklenmisse tekrar yüklemiyor, yüklenmemisse onlari yüklüyor. Hepsi signed dll oldugu icin de farkli versiyonlari da yüklettiriyoruz. Yani biri digerdll v1.0 i kullaniyor, diger plugin digerdll v1.2 yi kullaniyor olsa da iki dll i de yüklüyoruz ve pluginler kendine ait dll leri kullaniyor . Baya karisik bir konu, zaten bu konuyla ilgili rnek acikcasi bulamadim, herkes sadece senin gibi dll fonksiyonlarini cagirmis ancak bize gui tabanli bir plugin sistemi lazimdi. Merak edenler icin ilk asamalarinda cektigim bir resmi ekleyeyim Sol allta pluginler var, bir pluginden birden fazla instance olusturulabiliyor ve instance secildiginde sag da ilgili pluginin formu beliriyor ve tüm pluginler aslinda birer dll. Ayni zamanda bu pluginlerin bir de windows servisleri var. Bizim konsol uygulamamizin grevi bu pluginleri ve onlarin bagimliliklarini yükleyerek gstermek ve pluginin servisini kontrol etmek. hocam aciklamalar icin cok teşekkür ederim. Zahmet verdim. Ufak capli birşeyler yapip durumu hallettim. sic mundus creatus est

tam anlayamadim sorununu, dll i gsteremedin mi yoksa yle bir dll vermek mi istemiyorsun. yani diger. dll i bulamiyor diyorsun ama bu dll nerede? eger normal exe ya da dll üzerinden cagiriyorsan ayni klasrde olmasi olmasi kafi hocam. Ama bazi durumlarda ilgili assembly nin de load edilmis olmasi gerekiyor. O yüzden tüm bagimli dll leri de load etmen gerekiyor. Assembly. LoadFile ; dll yüklemeleri bittikten sonra Assembly assemblies = AppDomain. CurrentDomain. GetAssemblies ; buradan dnen degerlere bak hocam, iki dll de burada var mi diye.. Ayrica Assembly. LoadFile yerine AppDomain. CurrentDomain. Load u da deneyebilirsin olmazsa . Eger bu dll ler explorer tarafindan cagriliyorsa dll in baktigi yer farkli bir dizin olabilir. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

tam anlayamadim sorununu, dll i gsteremedin mi yoksa yle bir dll vermek mi istemiyorsun. yani diger. dll i bulamiyor diyorsun ama bu dll nerede? eger normal exe ya da dll üzerinden cagiriyorsan ayni klasrde olmasi olmasi kafi hocam. Ama bazi durumlarda ilgili assembly nin de load edilmis olmasi gerekiyor. O yüzden tüm bagimli dll leri de load etmen gerekiyor. Assembly. LoadFile ; dll yüklemeleri bittikten sonra Assembly assemblies = AppDomain. CurrentDomain. GetAssemblies ; buradan dnen degerlere bak hocam, iki dll de burada var mi diye.. Ayrica Assembly. LoadFile yerine AppDomain. CurrentDomain. Load u da deneyebilirsin olmazsa . Eger bu dll ler explorer tarafindan cagriliyorsa dll in baktigi yer farkli bir dizin olabilir. Yotrumun için teşekkür ederim hocam sorunu çzdüm :) ClassLibray'de kullandığım referansları ortak bir path'e koydum. Class librarynin zelliklerindeki refferance pathe bu dizini verdim ve projeye referansları dahil ettim. ClassLibrary 'i load edeceğim projeyede aynı path'i referans path olarak ekleyip bu projeyede aynı dll'leri referans olarak ekledim. Sonrasında benim dll sorunsuz bir şekilde load edildi ve 3rd referans ile string dnen metod çalıştı ve sonucu aldım. sic mundus creatus est