为什么加载器在注册表中寻找我的免注册COM组件?

时间:2012-09-12 13:22:54

标签: .net com registration-free-com

我已成功使用免注册COM将COM组件加载到我的.Net流程中。突然之间发生了一些变化(我在午餐时出现,看起来似乎是:-))并且加载过程已停止工作。

在我的COM组件正确加载之前,现在我收到了FileNotFoundException。

运行ProcMon来探索发生了什么,我发现加载器正在注册表中查找CLSID,并发现组件已经注册。然后它查看注册的路径,并发现dll不在那里。

当我使用免注册COM配置它时,有人能告诉我为什么加载器会去注册表寻找组件吗?我认为清单优先于注册表,但我找不到任何关于此的文档。

1 个答案:

答案 0 :(得分:0)

事实证明,罪魁祸首是Visual Studio Hosting process。当涉及到这一点时,您的应用程序的清单文件(指定COM依赖项)无法读取。

因此,简单的解决方法是disable the hosting process

相关问题