我的项目是一个插件(Windows DLL),它由不受我控制的主机可执行文件加载。我的 DLL 想要加载一些额外的库。我用私人集会来做这件事;Win32 App 插件如何在其自己的目录中加载其 DLL 以了解如何执行此操作有一个很好的答案。但是,如果我/delayload dependentlib.dll
在主 DLL 的链接行上添加以避免加载程序集,直到需要它(由于各种原因我必须这样做),Windows 不再搜索我的私有程序集——似乎它忽略了我编译的清单。相反它在通常的搜索路径中查找延迟加载的 DLL。(我使用 sysinternals procmon 来检查这个。)
这是一个已知的错误,还是有其他方法可以延迟加载程序集?我宁愿不走 LoadLibrary + GetProcAddress 路线,我必须知道我在依赖库中关心的所有符号。