C#项目中引用的dll上的未知名称ComException 我写了一个C语言应用程序,它使用C++编写的一个DLL作为参考。我可以使用那个dll名称空间,我的项目编译得很好。然而,当我运行它时,我在其中一行中不断得到错误,我在其中指定了一个属性的值。我得到的异常错误如下: A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll 2013-06-03 12:26:32 - Unknown name. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME)) 2013-06-03 12:26:32 - at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) 2013-06-03 12:26:32 - at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) 2013-06-03 12:26:32 - at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData) 2013-06-03 12:26:32 - at sstObjTapLib._DsstObjTap.set_CapCode(String ) 2013-06-03 12:26:32 - at hpOutput.CTapPagerCom.MessageLoop() in c:\shs\Arial 8.1\XmarkClient\hpOutput\CTapPagerCom.cs:line 225

C#项目中引用的dll上的未知名称ComException 我写了一个C语言应用程序,它使用C++编写的一个DLL作为参考。我可以使用那个dll名称空间,我的项目编译得很好。然而,当我运行它时,我在其中一行中不断得到错误,我在其中指定了一个属性的值。我得到的异常错误如下: A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll 2013-06-03 12:26:32 - Unknown name. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME)) 2013-06-03 12:26:32 - at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) 2013-06-03 12:26:32 - at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) 2013-06-03 12:26:32 - at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData) 2013-06-03 12:26:32 - at sstObjTapLib._DsstObjTap.set_CapCode(String ) 2013-06-03 12:26:32 - at hpOutput.CTapPagerCom.MessageLoop() in c:\shs\Arial 8.1\XmarkClient\hpOutput\CTapPagerCom.cs:line 225,c#,c++,.net,dll,C#,C++,.net,Dll,我使用以下代码启动了dll对象: m_ctlTap = new sstObjTapLib.ctlTap(); 以下是三个屏幕截图: 我使用的DLL的属性 我使用的dll的对象浏览器 显示异常发生位置的断点 看看上面的堆栈错误,似乎.NET试图调用一些不存在的方法,但我只是设置了一个属性值。有人能给我指出正确的方向或我可能错过的东西吗 需要注意的一点是:在调试过程中,我正在查看已加载的模块视图,但是在已加载模块的列表中没有看到此dll名称 我不知道为什么,但我使用的计算机安装了相同的dll。我

我使用以下代码启动了dll对象:

m_ctlTap = new sstObjTapLib.ctlTap();
以下是三个屏幕截图:

  • 我使用的DLL的属性
  • 我使用的dll的对象浏览器
  • 显示异常发生位置的断点
  • 看看上面的堆栈错误,似乎.NET试图调用一些不存在的方法,但我只是设置了一个属性值。有人能给我指出正确的方向或我可能错过的东西吗

    需要注意的一点是:在调试过程中,我正在查看已加载的模块视图,但是在已加载模块的列表中没有看到此dll名称


    我不知道为什么,但我使用的计算机安装了相同的dll。我通过使用第三方工具查看它来了解这一点

    所以我进去,注销我使用的dll,验证它是否也从注册表中消失,然后重新注册它。清理我的项目,重新编译所有内容,并获得正确的代码

    看看我所做的,我认为由于某种原因,应用程序无法识别为指向正确COM而提供的GUID