Поиск dll в определенной папке - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Моя программа использует несколько самописных dll. Если я ложу эти библиотеки рядом с программой - она прекрасно запускается. Но стоит мне переместить их в другую папку, скажем /lib/ - то программа не работает. Подскажите, пожалуйста, как сделать так, что бы программа искала эти библиотеки именно в этой папке?

Решение задачи: «Поиск dll в определенной папке»

textual
Листинг программы
  1. internal static class CustomDirectories
  2.     {
  3.         public const string LibDirectory = "Lib";
  4.     }
  5.    
  6.     class Program
  7.     {
  8.  
  9.         static void Test()
  10.         {
  11.             var contract = new JsonArrayContract(typeof (string));
  12.             Console.ReadKey(true);
  13.         }
  14.  
  15.         private static void Main(string[] args)
  16.         {
  17.             try
  18.             {
  19.                 AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
  20.                 Test();
  21.                 Console.ReadKey(true);
  22.             }
  23.             catch (Exception e)
  24.             {
  25.                 Console.WriteLine(e.ToString());
  26.             }
  27.         }
  28.  
  29.         private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
  30.         {
  31.                 Console.WriteLine($"Could not found assembly: {args.Name}");                
  32.                 var fullPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, CustomDirectories.LibDirectory, string.Format($"{args.Name.Split(',').First()}.dll"));
  33.                 return Assembly.LoadFile(fullPath);
  34.         }
  35.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы