2013-12-11 93 views
1

我有一个项目在Visual Studio 2008中运行。当我尝试在Visual Studio 2012中(在不同的计算机上)转换项目时,出现以下错误:类未注册(异常来自HRESULT:0x80040154(REGDB_E_CLASSNOTREG))

没有注册类(从HRESULT异常:0x80040154的(REGDB_E_CLASSNOTREG))

我已经包括了所有引用,不知道我要去的地方错了。我有一个引用,它是第三方.dll - 它有一个前缀ax。我也有对AxInterop.MSCommLib.dll和Interop.MSCommLib.dll的引用。我曾尝试将目标平台设置为x86,但这不能解决此问题。我也曾尝试注册.dll文件,但得到如下:

模块“interop.mscommlib.dll”已加载,但在入口点中的DllRegisterServer未找到

任何帮助将非常感激。

+0

已有数百个关于此错误的问题。他们都有相同的答案,当然你也忘了在目标机器上部署和注册MSComm32.ocx。不要使用古老的VB6控件,而是使用.NET SerialPort类。 –

回答

0

使用依赖关系walker来查找DllRegisterServer是否不存在,或者它是否存在C++名称。它应该有一个C名。

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

既然它工作过,你可能没有链接的东西。

相关问题