HRESULT中出现异常:0x80004002(E_NOINTERFACE)

本文关键字:NOINTERFACE 0x80004002 异常 HRESULT | 更新日期: 2023-09-27 18:28:35

我负责C#应用程序(VS 2005)的维护。这个C#应用程序调用一个dll("mydll.dll")。我需要对有问题的dll进行一些更改。

我有一个用Visual Basic 6.0编写的文件"mydll.vbp"。我在Visual Studio中进行了更改,然后从Visual Basic界面"制作"了"mydll"。

现在的问题是,每当我尝试在C#中的debbuger模式下从"mydll.dll"中实例化一个类时,我都会出现以下"InvalidCastException"

无法强制转换mydll类型的COM对象。ClassFrommydll到接口类型mydll_ClassFrommydll"。此操作失败,因为对IID为"{384FB79F-B636-4655-9441-8222692AB8AE}"的接口的COM组件的QueryInterface调用由于以下错误而失败:不支持此类接口(HRESULT中的异常:0x80004002(E_NOINTERFACE))。

我试图重新引用有问题的dll。。。但这并不能改变任何事情。

有什么想法吗?

非常感谢所有能提供帮助的yopu。我已经被这个问题困扰了好几天了。开始感到压力。。。

HRESULT中出现异常:0x80004002(E_NOINTERFACE)

标记主类[STAThread]并且您的问题将得到解决

我使用IBM Dll遇到了这个确切的问题。

[STAThread]
static void Main(string[] args)
{
}

为我修复了所有COM接口都可用的问题,并清除了

异常