簡體   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