繁体   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