Поиск 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);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д