未注册的类(来自HRESULT的异常:0x80040154 (REGDB_E_CLASSNOTREG))

时间:2022-09-01 07:50:17

I have a project which runs in visual studio 2008. When I try to convert the project within visual studio 2012 (on a different computer) I get the following error:

我有一个在visual studio 2008中运行的项目。当我试图在visual studio 2012(在另一台计算机上)转换项目时,我得到了以下错误:

Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

未注册的类(来自HRESULT的异常:0x80040154 (REGDB_E_CLASSNOTREG))

I have included all references and do not know where I am going wrong. I have one reference which is a third party .dll - it has a prefix ax. I also have references to AxInterop.MSCommLib.dll and Interop.MSCommLib.dll. I have tried setting the target platform to x86 and this does not solve this issue. I have also tried registering the .dll files but get the following:

我已经包括了所有的参考资料,不知道我哪里出错了。我有一个参考,它是一个第三方。dll -它有一个前缀ax。我还提到了AxInterop.MSCommLib。dll和Interop.MSCommLib.dll。我尝试将目标平台设置为x86,这并不能解决这个问题。我还尝试注册.dll文件,但得到以下内容:

The module "interop.mscommlib.dll" was loaded but the entry-point DllRegisterServer was not found

interop.mscommlib模块”。加载dll,但未找到入口点DllRegisterServer。

Any help would be much appreciated.

非常感谢您的帮助。

1 个解决方案

#1


0  

Use dependency walker to find if DllRegisterServer doesn't exist or if it exists with a C++ name. It should have a C name.

使用dependency walker来查找DllRegisterServer是否存在,或者是否存在一个c++名称。它应该有一个C的名字。

This function registers a COM DLL in the registry.

这个函数在注册表中注册一个COM DLL。

Since it worked before, you probably not linking with something.

因为它以前工作过,所以你可能没有链接到什么东西。

#1


0  

Use dependency walker to find if DllRegisterServer doesn't exist or if it exists with a C++ name. It should have a C name.

使用dependency walker来查找DllRegisterServer是否存在,或者是否存在一个c++名称。它应该有一个C的名字。

This function registers a COM DLL in the registry.

这个函数在注册表中注册一个COM DLL。

Since it worked before, you probably not linking with something.

因为它以前工作过,所以你可能没有链接到什么东西。