我已经被这个问题困扰了几个小时了。我希望有人遇到过类似的问题。
我们使用 VS2010 开发了一个原型 .Net(C#) dll,并且希望能够在 C# 应用程序和 VB6 应用程序中调用这个 dll。
我的问题是:
是否可以调试调用 .Net dll 的 VB6 应用程序?我收到一条错误消息“自动化错误系统找不到指定的文件”
错误消息表明我的 VB6 应用程序缺少某些东西来查找 .Net dll。
我知道如果 VB6 应用程序已经编译,并且 .exe 已经创建,VB6 将在使用 .exe 时成功调用 .Net dll 功能
然而,重要的是我们可以通过我们的 VB6 应用程序进行调试。不幸的是,调试不允许您跳过实例化 .Net DLL 的类对象的代码行。我似乎无法做到这一点。
注意:我查看了论坛和 MSDN 文档,主要是找到在 .NET 中调用 VB6 dll 的解决方案;不幸的是,这与我们需要做的相反。
注意:我已经注册了编译好的 .Net(C#) 程序集,并在 VB6 项目中引用了它。
然而,我找到了这两个页面,这似乎是我们需要的,但它是调用使用 VS2005 生成的 .NET(c#) dll 的解决方案。当使用 VS2010 生成 .NET(C#) dll 时,这似乎不起作用。
如果有人可以提出任何建议或指导我到我能得到的地方,那就太好了。
谢谢
解决方案 感谢@HansPassant,我找到了解决方案。要调试包含 C# .NET 程序集的 VB6 项目,您需要通过“ regasm ”和“ gacutil ”注册 .NET dll,然后确保在开始调试之前关闭并重新打开 VB6 应用程序。