У меня есть прикладная программа на C #, назовем ее App.exe. Он ссылается на библиотеку DLL с именем A.dll, которая, в свою очередь, ссылается на другую библиотеку DLL, а именно B.dll. Однако способ, которым они ссылаются, немного отличается. В коде A.dll он напрямую ссылается на B.dll (перейдя в Проект> Ссылки> Добавить B.dll). Однако в моем App.exe есть код для загрузки A.dll во время выполнения с использованием Assembly.Load () и т. Д.
Подводя итог,
App.exe ---- (загрузка во время выполнения) ---> A.dll ---- (прямая ссылка) ---> B.dll
Все три вещи (App.exe, A.dll и B.dll) находятся в одном каталоге, скажем, в ExeDir. Теперь я хочу поместить A.dll и B.dll в подкаталог ExeDir. Я могу сделать это с помощью файла App.config, в котором указан путь к A.dll, и попросить App.exe загрузить A.dll с этого пути. Пока все хорошо.
Однако проблема в том, что когда я это делаю, .NET выдает мне сообщение о том, что не может найти B.dll, который находится в том же каталоге, что и A.dll. Если я перенесу его обратно в исходный каталог (тот же каталог, что и App.exe), он будет работать нормально. Это означает, что я могу поместить A.dll в подкаталог, но B.dll должен быть в исходном каталоге.
Есть ли способ сохранить обе библиотеки DLL в подкаталоге?