У меня есть проект с именем A, расположенный в C: \ ProjectA.
Он ссылается на DLL-файл под названием B.dll, расположенный в C: \ Binaries.
Теперь B.dll должен динамически загрузить вторую DLL-библиотеку с именем C.DLL, которая находится в той же папке (C: \ Binaries). Но как B может определить местоположение C?
Я знаю о AppDomain.CurrentDomain.BaseDirectory и Assembly.GetExecutingAssembly (). Location, но оба возвращают 'C: \ ProjectA \', потому что B.dll был загружен A.exe.
Я знаю, что очевидным решением было бы поместить все двоичные файлы в одну и ту же папку, и они будут при выпуске, но при разработке я не могу изменить макет хранилища и хочу избежать жесткого кодирования путей.
Редактировать: Извините, дубликат Как мне получить путь к сборке, в которой находится код?