繁体   English   中英

为什么加载程序会在注册表中查找我的免注册COM组件?

[英]Why is the loader looking in registry for my Registration-Free COM component?

我已经成功使用免注册COM将COM组件加载到.Net进程中。 突然发生了变化(好像我在午餐时间出门了,看来:-)),并且加载过程已停止工作。

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

运行ProcMon以了解发生了什么,我发现加载程序正在注册表中查找CLSID,并发现该组件已被注册。 然后,它查看注册的路径,并发现dll不存在。

谁能告诉我为什么我使用免注册的COM配置加载程序后,它会去注册表中查找该组件吗? 我以为清单文件优先于注册表,但是我找不到有关此文件的任何文档。

原来,罪魁祸首是Visual Studio Hosting进程 涉及此问题时,不会读取应用程序的清单文件(指定COM依赖项)。

因此,简单的解决方法是禁用托管过程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM