如何在VB6程序中使用ReportViewer VB.net DLL?

如何在VB6程序中使用ReportViewer VB.net DLL?,vb.net,dll,vb6,reportviewer,Vb.net,Dll,Vb6,Reportviewer,我已经编写了一个DLL,它提供了从MySQL数据库提取数据和使用VS 2012中内置的报表查看器生成报表的方法。我们的想法是在VB6程序中使用它。我经历了以下过程: 1) 选择“注册COM互操作”在VS中生成DLL 2) 将DLL和TLB文件放在另一台计算机上VB6程序的目录中 3) 使用regasm:“regasm Report.dll/tlb:Report.tlb/codebase”(如果我已经拥有由VS生成的tlb文件,则为冗余步骤?) 4) 将TLB文件添加到VB6中的项目参照中 VB6

我已经编写了一个DLL,它提供了从MySQL数据库提取数据和使用VS 2012中内置的报表查看器生成报表的方法。我们的想法是在VB6程序中使用它。我经历了以下过程:

1) 选择“注册COM互操作”在VS中生成DLL

2) 将DLL和TLB文件放在另一台计算机上VB6程序的目录中

3) 使用regasm:“regasm Report.dll/tlb:Report.tlb/codebase”(如果我已经拥有由VS生成的tlb文件,则为冗余步骤?)

4) 将TLB文件添加到VB6中的项目参照中

VB6程序构建和执行正常,但当我运行报告时,我只得到“自动化错误:系统找不到指定的文件”

根据给出的说明,我已经完成了一个普通DLL的上述过程。这很有效。我怀疑我的DLL(MySQL.Data和Microsoft.ReportViewer.WinForms)中使用的引用也可能需要在VB6计算机上注册。我已经能够用MySQL.Data实现这一点,但不能用ReportViewer DLL

如果有区别的话,DLL是在Windows7 64位机器上构建的,而VB6机器运行的是XP32位


提前感谢。

原来问题是我需要为Microsoft.ReportViewer.Common设置复制本地属性,并将相关的DLL文件与我自己的DLL一起复制。希望这对任何有类似问题的人都有帮助。

您能否创建最小数量的VB6代码来再现错误,并指出错误落在哪一行上?