Мой проект - это подключаемый модуль (Windows DLL), который загружается исполняемым файлом хоста, не находящимся под моим контролем. Моя DLL хочет загрузить дополнительные библиотеки. Я делаю это с частными собраниями; есть отличный ответ на как может ли плагин приложения Win32 загрузить свою DLL в свой собственный каталог, чтобы узнать, как это сделать. Но если я добавлю /delayload dependentlib.dll
в строку ссылки основной DLL, чтобы избежать загрузки сборки до тех пор, пока она не понадобится (я вынужден делать это по разным причинам), Windows больше не будет искать мои частные сборки - похоже, она игнорирует манифест, который я скомпилировал. Вместо этого он ищет загруженную с задержкой DLL в обычном пути поиска. (Я использую sysinternals procmon, чтобы проверить это.)
Это известная ошибка или есть другой способ отложить загрузку сборки? Я бы предпочел не идти по маршруту LoadLibrary + GetProcAddress, где мне нужно знать все символы, которые меня интересуют в зависимой библиотеке.