我有三个项目, 一个是编译为EXE的VB6项目。 另一个也是VB6项目,它编译成DLL。 最后一个是编译为DLL的.Net(2010)项目。
我的VB6 DLL项目中引用了.Net的DLL。 最终的VB6 DLL项目在我的VB6 EXE项目中被引用。
在这种情况下,我该如何调试我的.Net DLL项目?
在两种情况下都失败(或无法调试),即使我将(VB6 DLL)进程附加到我的.Net DLL项目,或者我将'启动外部程序'设置到我的VB6 DLL项目上。 Net DLL Project。
我是否必须更改VB6 DLL项目中的引用(.Net DLL)才能在调试中获取它?
欢迎您提供所有有效输入。 (请逐步说明我需要做的程序)
提前致谢。
答案 0 :(得分:1)
您应该能够通过将Debug下的启动操作设置为
来调试C#.NET dll启动外部程序
并将VB6可执行文件指定为程序。
我知道这可行,因为我使用它来调试旧的VB6应用程序的.NET / C#插件。
要访问您尝试调试的代码,还有多少其他dll(.NET或其他版本)无关紧要。
答案 1 :(得分:1)
啊vb6 :)已经很久了......
基本上,你不能在VB6 IDE中调试.NET代码。但是,没有什么能阻止您创建.NET测试项目来对.NET dll进行单元测试。 这就是你在VB6中引用它之前应该做的事情。
如果需要跟踪特定问题,可以使用的另一种方法是将调试信息写入文件/数据库/事件视图/ ...当dll处于调试模式时,就像调用哪些函数一样,参数,堆栈跟踪...
答案 2 :(得分:-4)
这可能不正确,但我相信VB 2010使用的是什么? .NET 4.0,对吗? VB6创建于... 1994我相信,所以它将是< = .NET 1.0。二进制文件很可能是不兼容的。