簡體   English   中英

將COM DLL合並到C#中

[英]Incorporating a COM DLL into C#

我在將COM DLL合並到C#.NET程序時遇到一些問題。 DLL是由第三方提供給我的。 這是在VB6中完成的。 目前,這是我收到的錯誤。

未處理System.Runtime.InteropServices.COMException。 HResult = -2147221164消息=檢索具有CLSID {46F5C9EE-D750-4740- AFBD-682F1E097776}的組件的COM類工廠由於以下錯誤而失敗:80040154未注冊類(HRESULT的異常:0x80040154(REGDB_E_CLASSNOTREG))。

當我嘗試從DLL文件中的一個類創建新對象時,它將引發異常。

我嘗試過使用regsvr32.exe注冊DLL,並使用tlbimp.exe創建另一個DLL(雖然可以,但是給了我很多警告)。 每次嘗試調試程序時,都會出現某種異常。

我應該放棄並在VB6中這樣做嗎? 我真的不想...

您缺少第三方VB6 DLL所依賴的DLL。 這可能是另一個VB6 DLL或另一個第三方引用(或較低級別的DLL,例如VB運行時)。

解決您的問題的最佳方法是詢問第三方提供程序需要哪些DLL作為依賴項。 作為VB6開發人員,他們應該能夠輕松回答問題,而不必運行諸如依賴關系遍歷之類的操作,而這些操作很容易導致您走錯路。

好的,我解決了問題。 COM DLL允許我訪問的第三方軟件需要將USB軟件狗插入計算機,否則它將僅在試用模式下運行。 這使我無法訪問DLL功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM