一个VB6项目能否使用.NET的.dll文件?

3
我有一个VB6项目。我的问题是,我能否从VB6应用程序中调用一个包含项目所有业务规则的.NET .dll文件?
基本上,我有一个VB6项目和一个调用vb6/ActiveX .dll的经典ASP项目。要求是找出升级应用程序的最佳方法。因此,如果我更新了ActiveX .dll,那么VB6应用程序能够调用新的.NET .dll吗?
我想对于经典ASP项目来说,也是同样的问题...
谢谢!
1个回答

6
是的,但是你需要使 .Net 类型 Com Visible。 此外,请参见下面 Matt 的评论,关于数组索引和字符串。 事实上,这种做法并不是一个好主意...

1
听起来在这种情况下可能是个好主意。首先在一个新的.NET dll中升级业务逻辑,然后逐步升级其他部分,直到重写GUI。 - taylonr
必须得承认,除非这个项目真的非常非常大,否则创建一个可调用的VB6 .net库可能比将事物移植到.net并继续前进更费力。逐步迁移听起来总是很不错,但除非项目规模相当大,否则通常不值得这样做。 - DarinH
1
还有一些其他需要考虑的因素。例如,VB6中基于1的数组与.NET中基于0的数组之间的比较。在.NET中,不完全支持固定长度字符串,并且相同类型的数据类型大小不同(VB6 Long = .NET Int32)。 - Matt Wilko
但是如果您正在迁移DLL并且想保持客户端应用程序不变(无需重新编译),该怎么办? - luchosrock
也许这篇文章可以帮到你:将.NET的类成员暴露给Visual Basic 6 - live2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接