2011-01-08 130 views
0

我想從C++代碼創建一個DLL並在C#中使用它。有沒有從C++創建COM對象的解決方案?我不想使用System.Runtime.InteropServices從C++創建COM對象?

非常感謝

+0

看看ATL – 2011-01-08 10:35:54

回答

4

您可以直接寫COM(請參閱@Darin Dimitrov的回答),但您也可以使用ATL。我最喜歡將C++代碼暴露給C#(但不使用COM)的解決方案是使用C++/CLI

0

你可以使用ATL,它太簡單了,你只需要註冊該DLL。之後,你可以在所有的C#程序中使用它

1

有3種方法可以解決它。

1)使用C#中的PInvoke調用本地方法。

2)使用C++ - CLI創建一個將本機功能公開給C#的圖層。這是我推薦的性能明智的方法。

3)將C++ dll編寫爲COM對象並從C#中進行訪問。需要COM知識和開發成本。