Поиск dll в определенной папке - C#
Формулировка задачи:
Добрый день. Моя программа использует несколько самописных dll. Если я ложу эти библиотеки рядом с программой - она прекрасно запускается. Но стоит мне переместить их в другую папку, скажем /lib/ - то программа не работает.
Подскажите, пожалуйста, как сделать так, что бы программа искала эти библиотеки именно в этой папке?
Решение задачи: «Поиск dll в определенной папке»
textual
Листинг программы
internal static class CustomDirectories { public const string LibDirectory = "Lib"; } class Program { static void Test() { var contract = new JsonArrayContract(typeof (string)); Console.ReadKey(true); } private static void Main(string[] args) { try { AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; Test(); Console.ReadKey(true); } catch (Exception e) { Console.WriteLine(e.ToString()); } } private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) { Console.WriteLine($"Could not found assembly: {args.Name}"); var fullPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, CustomDirectories.LibDirectory, string.Format($"{args.Name.Split(',').First()}.dll")); return Assembly.LoadFile(fullPath); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д