SORU
3 EYLÜL 2009, PERŞEMBE


Nasıl Kurul arama için klasör zamanında yol eklemek için .NET?

DLL özelleştirebilirsiniz olmayan bir üçüncü taraf uygulaması tarafından yüklenir. Benim derlemeler kendi klasöründe olmak zorunda. GAC (başvurum dağıtılan AYNI kullanarak bir şartı vardır) içine koyamazsınız. Kök DLL bir DLL (aynı klasör içinde) kaynak türü veya yüklemek için çalıştığında, yükleme (FileNotFound) başarısız. DLL montaj arama yolu olarak kök DLL) bulunduğu klasör eklemek mümkün mü? Uygulama yapılandırma dosyaları değiştirme hakkına sahip değilim.

CEVAP
3 EYLÜL 2009, PERŞEMBE


Sesler Uygulama ihtiyacın var gibi.Olay AssemblyResolve ve el ile DLL dizininizden bağımlılıklarını yükleyin.

Edit (açıklama):

AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.AssemblyResolve  = new ResolveEventHandler(LoadFromSameFolder);

static Assembly LoadFromSameFolder(object sender, ResolveEventArgs args)
{
    string folderPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
    string assemblyPath = Path.Combine(folderPath, new AssemblyName(args.Name).Name   ".dll");
    if (File.Exists(assemblyPath) == false) return null;
    Assembly assembly = Assembly.LoadFrom(assemblyPath);
    return assembly;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • DancingIsAPassion

    DancingIsAPa

    29 AĞUSTOS 2009
  • UlyssesForever's channel

    UlyssesForev

    28 ŞUBAT 2012