我们正在将基于 MFC 的大型应用程序与少数托管 (.NET) 加载项集成在一起。与这些插件的通信是通过 COM 完成的。
从历史上看,我们只是使用注册表来使这些加载项(作为 COM 服务器)对应用程序可用。但是,现在我们正在尝试使用免注册 COM 互操作来执行此操作。
我们希望这些加载项能够与应用程序运行所在的目录分开存放在一个单独的目录中——最好是在任何地方。但是,由于无法解析依赖程序集,我们显然遇到了服务器对象的实例化问题,这些程序集也存在于 COM 服务器 DLL 的目录中。
“老式”COM 互操作通过在加载目标程序集时使用 LoadFrom 上下文来处理此问题。但是激活上下文机制似乎并没有做到这一点。
有谁知道如何让它工作?尚不清楚我们是否可以在模块的 SxS 清单中识别依赖程序集,或者我们是否可以以不同的方式创建激活上下文?
感谢您的任何想法/提示!
杰夫