2009-12-11 78 views
0

我有一个广泛使用但旧的VB6 COM DLL需要额外的功能。我想摆脱旧的DLL,但至少有27个我不想重新编译的应用程序使用它。使用VB6 COM DLL作为外壳或接口与.NET代码

有没有一种方法可以将“旧VB6 COM DLL”(以及它的所有COMieness)作为一个shell或接口与它后面的.NET代码实际上完成所有的处理。

目标是让27个应用程序认为旧的DLL仍在处理中?

如果这个想法可以实现,那么我只需要部署新的DLL,这27个应用程序就会过得很开心。

是这样的可能吗?

回答

0

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

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

+0

我不明白如何实现这样的解决方案。你会推荐参考或例子。 – user230020 2009-12-12 01:12:27

+0

http://msdn.microsoft.com/en-us/library/ms686558(VS.85).aspx – 2009-12-15 00:01:15

0

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

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