我有一个 C++ 应用程序。这支持用户的 C++ 插件 DLL,它将动态加载这些 DLL,然后能够动态创建和使用用户的类型。这些用户类型派生自主应用程序核心库中定义的基类型和接口,因此我将用户对象作为指向基类的指针,并调用用户的虚函数来实现它们的魔力。
现在我想扩展插件 DLL 以允许托管 DLL(我主要关心 C#)。我希望所有相同的魔法都发生在 C# 插件 DLL 中。
如何动态加载这些 dll,我认为我目前正在使用的 win32 的 LoadLibrary 会对托管 DLL 感到满意。我将无法在编译/链接时访问这些库,它们来自用户。
在我加载库之后,不幸的是,我怀疑 COM 在我的未来是调用派生函数的方式。可能我可以使用我一直在阅读的 CLI/C++ 包装器,但我在这里非常缺乏经验,如果有任何建议或指向适当文章的链接,我将不胜感激。