2009-12-11 43 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。由於我在這個主題方面沒有豐富的經驗,我只想告訴它可能性。