我们开发了一个 .Net(C#) 的原型dll,使用VS2010,希望能够在C#应用程序和VB6应用程序中调用此dll。
我的问题是:
是否可能调试调用 .Net dll 的 VB6 应用程序?我收到一个错误消息“自动化错误,系统找不到指定的文件”。
错误消息表明,我的VB6应用程序缺少一些东西才能找到 .Net dll。
我知道如果VB6应用程序已经编译并创建了.exe文件,则在使用.exe时,VB6将成功调用 .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应用程序。