将.Net(C#)COM应用程序打开到VB时出错(2147024894)

时间:2009-02-23 05:56:17

标签: c# .net com

我正在为第三方软件开发插件应用程序(他们使用COM技术将应用程序的插件启动到他们的软件中。)我使用.Net(C#)进行应用程序开发。第三方软件由VB开发。当我试图将我的插件应用程序启动到第三方软件时,我得到以下错误,
DTM创建失败!( - 2147024894 - 未找到文件或程序集名称TestComDTM或其中一个依赖项。)
但我已将所有必需的依赖项复制到安装位置,但仍然我无法通过第三方软件启动我的应用程序。请帮帮我

2 个答案:

答案 0 :(得分:2)

解码HRESULT:

  • -2147024894是0x80070002
  • 在WinError.h(Windows SDK的一部分)中查找更容易。
  • 7是FACILITY_WIN32,所以这是Windows,所以查看2的Win32错误代码,即ERROR_FILE_NOT_FOUND。
  • 因此,这是一个未找到文件错误的HRESULT。

这反映了错误消息,但有时会告诉您有关路由原因的更多信息。

下一步:Process Monitor可用于确定COM尝试加载该文件的位置。

答案 1 :(得分:0)

您可以尝试使用dependency walker检查所有依赖项是否存在,分析模式对此非常好。

标准的Windows消息没有说的一件事是,如果找不到应用程序的依赖关系图中的任何依赖项(如果你调用的dll依赖于另一个),那么它可能会出现,而不仅仅是直接找不到依赖项。