我有一個廣泛使用但舊的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