簡體   English   中英

未在GAC中注冊COM .NET DLL(REGDB_E_CLASSNOTREG)

[英]COM .NET DLL not registering in the GAC (REGDB_E_CLASSNOTREG)

我在一台計算機上構建了一個.net COM dll(調試x64)。 我已經完成所有設置並在那里工作(我可以在C:\\ Windows \\ Micorosft.NET \\ assembly和OLEVIEWER中看到它)。

我將dll帶到另一台機器上(以及從MIDL生成的.h和.c文件)。 我按照以下步驟將dll注冊到GAC中: http ://codeingaddiction.blogspot.com/2011/06/how-to-add-strong-name-to-existing-dll_16.html-創建密鑰對,生成MISL,使用密鑰從MISL重新構建程序集,然后將其添加到GAC。 它似乎在GAC中,我可以嘗試使用gacutil / l MyDllName進行搜索。 但是,在我的客戶端應用程序中,當我與它鏈接時,在運行時調用CoCreateInstance我得到REGDB_E_CLASSNOTREG (HRESULT)。 我在C:\\ Windows \\ Microsoft.NET/Assembly或OLEVIEW中都看不到該dll。

我錯過了任何步驟或做錯了什么嗎?

謝謝

您收到錯誤REGDB_E_CLASSNOTREG的原因是因為您的.net COM DLL未注冊。 任何.net程序集都需要注冊,才能作為com類公開給客戶端。 我們需要使用regasm.exe注冊.net程序集。

暫無
暫無

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

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