我有一个本机 C++ DLL,它用作另一个应用程序中的插件。此 DLL 有一个嵌入式清单并依赖于位于应用程序外部文件夹中的私有程序集。应用程序无法加载我的插件 DLL,因为我的 DLL 依赖于一个从未找到的私有程序集(它不在应用程序目录中,也不在 winsxs 文件夹中,而是在我的插件目录中,其位置不受控制应用程序)。问题是:如何让系统找到位于我自己特定目录中的私有程序集?作为一个类比,我需要一个等价的 setDllDirectory() 但对于程序集。或者另一种方式让系统找到我的私人程序集。
约束:
因为我的 DLL 是一个插件,所以我无法在应用程序的目录和子目录中安装任何东西。我也无法修改应用程序的行为。
我想避免在 winxs 中共享程序集。
我还必须使用程序集而不是简单的 DLL(我可以使用 LoadLibrary 加载)以避免版本冲突。
谢谢。