转载:做ArcEngine的二次开发出现“没有注册类别 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)”...
时间: 2024-06-04 20:08:07 浏览: 369
这个错误通常是由于ArcEngine组件没有正确注册所导致的。
您可以尝试以下步骤来解决这个问题:
1. 确认您的ArcEngine版本是否与您的操作系统和Visual Studio版本兼容。
2. 确认您的项目引用的ArcEngine组件是否正确。
3. 确认您的ArcEngine组件是否已正确注册。您可以使用命令行工具regsvr32.exe来注册组件。具体步骤如下:
a. 打开命令提示符。
b. 切换到ArcEngine组件所在的文件夹。
c. 运行命令:regsvr32.exe 组件名称.dll
4. 确认您的项目的“平台目标”设置是否与ArcEngine组件的平台相匹配。例如,如果您的ArcEngine组件是32位的,则您的项目应该设置为“x86”。
希望以上方法能够帮助您解决问题。如果问题仍然存在,请尝试搜索相关论坛或向ESRI支持团队寻求帮助。
相关问题
没有注册类 (异常来自 hresult:0x80040154 (regdb_e_classnotreg))
这个错误信息是由于没有正确注册相关类所引起的。在Windows操作系统中,当我们使用的程序需要调用特定的动态链接库(DLL)或者组件时,我们需要将这些DLL或者组件正确地注册到系统中,以便程序可以调用它们。
在这种情况下,错误的原因是相关类没有被正确地注册到系统中。当我们尝试在程序中调用该类时,系统无法找到该类的注册信息,就会抛出该异常。
要解决这个问题,我们可以尝试以下几种方法:
1. 检查相关DLL或者组件是否存在:首先,我们需要确定缺失的类所属的DLL或者组件是否存在。如果没有,我们需要安装或者将其复制到正确的路径下。
2. 重新注册相关DLL或者组件:如果相关DLL或者组件已存在,我们可以尝试重新注册它们。可以使用命令行工具(如regsvr32)来注册DLL,或者使用组件提供的注册工具。
3. 检查操作系统位数:如果DLL或者组件是32位的,而操作系统是64位的,我们需要确保使用的是对应位数的注册工具进行注册。否则,仍然会出现注册失败的问题。
4. 更新或者重新安装程序:如果以上方法仍然无法解决问题,我们可以尝试更新或者重新安装使用该类的程序。有时,更新或者重新安装程序会自动注册相关类。
总结来说,没有注册类的错误是由于相关DLL或者组件没有被正确地注册到系统中所引起的。我们可以通过检查文件是否存在、重新注册DLL或者组件、检查操作系统位数以及更新或者重新安装程序等方法来解决这个问题。
异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)
这个错误通常表示您正在尝试访问未注册的 COM 组件。这可能是因为组件没有正确安装或注册,或者注册表中的相关信息已被损坏或删除。您可以尝试重新安装组件,或者使用注册表编辑器检查相关信息是否存在并进行修复。如果问题仍然存在,您可以尝试使用注册表查找工具来查找组件的 CLSID 并确认其是否正确注册。如果您需要更多的帮助,请提供更多的上下文信息,我会尽力帮助您解决问题。
阅读全文