Kno*_*ios 8 .net c# vb6 debugging visual-studio-2010
我已经把这个问题留了几个小时了.我希望有人遇到类似的问题.
我们使用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应用程序.
Han*_*ant 12
这不是问题,VB6使用自己的调试器,不会妨碍任何其他调试器,包括C#代码的托管调试器.
从C#类库项目开始,确保将其选为启动项目.Project + Properties,Debug选项卡.选择"启动外部程序"选项,然后输入VB6 IDE的路径.通常是c:\ program files\microsoft visual studio\vb98\vb6.exe.在要调试的方法上设置断点.
按F5键,VB6 ide将开始运行.加载或创建您的vb6项目.请注意如何在上一步中添加.vbp项目的路径,以便它自动加载项目.
像往常一样开始调试vb6项目.一旦它开始使用你的[ComVisible] C#类,你的C#程序集就会被加载.当您的vb6代码调用该方法时,断点将会出现.根据需要来回切换.请注意,您不能单步从vb6到C#代码,您必须设置断点以使调试器停止.
一种方法是单独调试每个:
编译 C# DLL 并将其添加为 VB6 项目的引用后,可以在 IDE 中调试 VB6 代码。
通过编译 VB6 项目并在项目属性中将其用作要运行的可执行文件,可以在 Visual Studio 中使用 VB6 主机调试 DLL。
在某些情况下,这比设置同时调试环境更简单/更快。
这种方法至少需要事先了解每个工作的框架。
| 归档时间: |
|
| 查看次数: |
5158 次 |
| 最近记录: |