我有一个广泛使用但旧的VB6 COM DLL需要额外的功能。我想摆脱旧的DLL,但至少有27个我不想重新编译的应用程序使用它。使用VB6 COM DLL作为外壳或接口与.NET代码
有没有一种方法可以将“旧VB6 COM DLL”(以及它的所有COMieness)作为一个shell或接口与它后面的.NET代码实际上完成所有的处理。
目标是让27个应用程序认为旧的DLL仍在处理中?
如果这个想法可以实现,那么我只需要部署新的DLL,这27个应用程序就会过得很开心。
是这样的可能吗?
我有一个广泛使用但旧的VB6 COM DLL需要额外的功能。我想摆脱旧的DLL,但至少有27个我不想重新编译的应用程序使用它。使用VB6 COM DLL作为外壳或接口与.NET代码
有没有一种方法可以将“旧VB6 COM DLL”(以及它的所有COMieness)作为一个shell或接口与它后面的.NET代码实际上完成所有的处理。
目标是让27个应用程序认为旧的DLL仍在处理中?
如果这个想法可以实现,那么我只需要部署新的DLL,这27个应用程序就会过得很开心。
是这样的可能吗?
为什么要使用旧的DLL?将其替换为等效的.NET COM对象。
如果需要,替换对象可以创建旧COM对象的实例并将某些行为委托给该旧对象。
你可以写你的.net应用程序作为serviced component。这将使您的新.NET代码COM +可见,从而允许您通过旧的COM +代码添加对此新组件的引用。
使用相同的技术,您可以(理论上)创建一个.net组件,它具有与您的VB6/COM相同的特性,包括相同的CLSID。由于我在这个主题方面没有丰富的经验,我只想告诉它可能性。
我不明白如何实现这样的解决方案。你会推荐参考或例子。 – user230020 2009-12-12 01:12:27
http://msdn.microsoft.com/en-us/library/ms686558(VS.85).aspx – 2009-12-15 00:01:15