从Visual Basic 6调用.Net类

时间:2010-01-27 06:08:35

标签: c# .net vb6

我们有一个.Net DLL。我们需要从VB应用程序调用此DLL。我们需要遵循哪些程序?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

我最后一次这样做,它变得如此棘手(一些涉及COM +的部分不相关的问题,部署等等)我实际上抛弃了COM边界,并重新编写了作为POX Web服务的界面.NET中的处理程序(ashx)。我会对这种方法给予认真考虑...(除非您需要共享Windows句柄或类似方法)


如果确实需要COM API,则需要生成一个COM可调用包装器;这主要是案例:

  • 确保必要的类型/方法是公开的
  • 将程序集/类型标记为[ComVisible(true)]
  • 如果需要,使用tlbexe导出类型库
  • 使用regasm在COM中注册类型(在GAC中或从驱动器上的固定位置注册)

之后你的VB6 应该将其视为另一个COM包,但我强烈建议你将这个界面限制在最低限度;它不是更改友好的,并且VB6风格的界面转发(即你可以在不破坏二进制兼容性的情况下添加方法的地方)不在这里。