繁体   English   中英

COM类工厂错误

[英]COM class factory error

当我尝试使用COM对象时,在工作站上出现以下错误。

CarteGraphInterface.exe中发生了类型为'System.Runtime.InteropServices.COMException'的未处理异常

附加信息:由于以下错误,检索具有CLSID {3963F0F8-6B0C-4A65-90F4-F60168044014}的组件的COM类工厂失败:80040154。

我在这里已阅读了一些关于SO的问题 ,但没有一个有帮助。 该ID未在注册表中的任何位置列出。 是否需要添加?

更新:更多信息。 当我在VS2008中选择“添加引用...”时,该对象在此处列出(这是我最初发现它的方式),而源文件则以* .exe列出。 regsrv32无法正常工作。

可能是您需要使用以下方法注册COM DLL:

regsvr32.exe /i dllname

也许先尝试一下,看看是否有所作为。

编辑:不知道您是否使用此,但COM资源管理器也可以为您提供帮助。 如果有帮助,请尝试使用试用版。

编辑:我一直试图找出有关错误代码的更多信息,而我能找到的最好的方法是this ,它阐明它必须是未注册的DLL。

您如何添加对项目的引用? 使用COM时,几乎总是应在“ COM”选项卡上添加引用(而不是在“浏览”中),这样可以确保您获得对已注册对象的有效引用,从而创建新的互操作程序集。 但是,如果您遇到注册问题,则很可能不会在“ COM”选项卡上找到所需的参考。

首先,COM组件驻留在可执行文件中是很奇怪的(尽管有可能)。 也许不应该从另一个应用程序实例化此组件,所以所有注册数据都已删除? 我建议与您从中获得此组件的任何人联系,并索取可注册的dll版本。

这些解决方案均无效。 我假设它们实际上没有可与.NET一起使用的API(如果有的话)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM