vb6 COM dll无法加载C#程序集



我有一个asp.net应用程序调用中间C#dll,它将通过COM调用传统的vb6 dll。在实际调用过程中,我在vb6 dll的日志中发现一个错误:

"无法加载文件或程序集,'Generic_C#_DLL.DataAccess,Version=1.0.0.0,Culture=neutral,PublicKeyToken=f0c9890f55677d2'或其依赖项之一。系统找不到指定的文件"

为什么我的vb6 COM dll试图加载其他一些C#dll?是因为调用vb6 COM dll的dll也引用了"Generic_C#_dll.DataAccess"吗?

认为我通过引用"Interops.VB6dll"正确地引用了调用COM的C#dll中的vb6 dll,并且我已经用regasm.exe正确地注册了vb6 dll…所以到目前为止,我有点不知道为什么会发生这种情况,有人有什么建议吗?

我们需要看到能够最好地帮助实现这一点的代码。然而,请注意,这也表示"或其依赖项之一",这可能表明存在另一个阻止此加载的加载故障。

有几个非常有用的工具来解决DLL加载问题:

  • Fusilogvw.exe(程序集绑定日志查看器)
  • Dependency Walker 2.2
  • Process Monitor v3.03

最新更新