使用VB6 COM DLL作为后台.NET代码的shell或接口

时间:2009-12-11 23:55:38

标签: com

我有一个广泛使用但旧的VB6 COM DLL,需要额外的功能。我想摆脱旧的DLL,但至少有27个我不想重新编译的应用程序使用它。

有没有办法使用“旧VB6 COM DLL”(以及它所有的COMie -ness)作为shell或接口,其背后的.NET代码实际上正在进行所有处理。

目标是让27个应用程序认为旧的DLL仍处于处理状态?

如果可以实现这个想法,我只需要部署新的DLL,27个应用程序将永远幸福地生活。

这样的事情可能吗?

2 个答案:

答案 0 :(得分:0)

为什么要使用旧的DLL呢?将其替换为等效的.NET COM对象。

如有必要,替换对象可以创建旧COM对象的实例,并将某些行为委托给该旧对象。

答案 1 :(得分:0)

您可以将.net应用程序编写为serviced component。这将使您的新.net代码COM +可见,允许您通过旧的COM +代码添加对此新组件的引用。

使用相同的技术,您(理论上)可以创建一个与VB6 / COM具有相同特性的.net组件,包括相同的CLSID。由于我在这个主题上没有丰富的经验,我只是想说出它的可能性。