У меня есть управляемая сборка C ++, которую я загружаю динамически в неуправляемом приложении C ++ с помощью стандартного вызова LoadLibrary (). Управляемая сборка C ++ зависит от еще нескольких управляемых сборок (C #). Все работало нормально, пока я не переместил все управляемые сборки в подкаталог неуправляемого приложения. Для иллюстрации:
Управляемая библиотека C ++ .dll (MyCoolDll.dll)
Неуправляемое приложение C ++ (MyCoolApp.exe)
Это работало нормально, пока я не переместил MyCoolDll.dll, DotNetDll1.dll и DotNetDll2.dll в / someSubDirectory (код в MyCoolApp.exe был обновлен до LoadLibrary ("someSubDirectory / MyCooldll.dll ")
Я предполагаю, что когда загружен MyCoolDll.dll, он пытается найти DotNetDll1.dll и DotNetDll2.dll в рабочем каталоге, а не в каталоге, в котором он находится.
Как я могу сказать MyCoolDll.dll его зависимости находятся в подкаталоге? Это библиотека, работающая внутри неуправляемого приложения, поэтому я не думаю, что могу указать это в app.config или в чем-то еще?