【发布时间】:2009-09-18 11:55:37
【问题描述】:
由于以下错误,检索具有 CLSID {B4E1B2EC-151B-11D2-926A-006008123235} 的组件的 COM 类工厂失败:80040154。在我的应用程序中,我使用第三方工具 (aspjpeg) 重新获取图像。当我运行此应用程序时出现此错误,请帮助我
【问题讨论】:
标签: asp.net
由于以下错误,检索具有 CLSID {B4E1B2EC-151B-11D2-926A-006008123235} 的组件的 COM 类工厂失败:80040154。在我的应用程序中,我使用第三方工具 (aspjpeg) 重新获取图像。当我运行此应用程序时出现此错误,请帮助我
【问题讨论】:
标签: asp.net
您可能正在处理 Class Not Registered 错误,如 http://support.software602.com/kb/view.aspx?articleID=987 所述。是否有此第三方工具的安装程序。可能缺少描述此 COM 组件的注册表项。
更多描述:
您添加的 DLL 可能依赖于其他 DLL 中的其他 COM 对象。假设 COM 组件 A 对 COM 组件 B 有依赖关系。这种依赖关系不是从一个文件到另一个文件,而是从一个文件到一个所谓的类 ID(也称为 CLSID)。
在这种情况下,假设 COM 组件 A 引用 CLSID“1234”。在 HKEY_CLASSES_ROOT\CLSID 文件夹下对具有匹配 CLSID 的文件夹进行注册表检查。一旦找到,就会读取该文件夹的 InprocServer32 文件夹,并确定包含 COM 组件 B 的 DLL 的确切路径,然后加载。
简而言之,您收到错误消息是因为缺少上述一个或多个注册表项。
编辑:添加了有关 COM 运行时如何引用和加载 COM 组件的详细信息。
【讨论】: