2014-12-04 70 views
0

我有一個用MFC編寫的C++項目,一些項目是DLL類型的。我想在我的C#代碼中使用這些dll(使用DllImport)。在C#中使用C++ dll(WPF)

我試圖添加作爲參考,但無法獲取和出錯。我是否需要複製這些dll的任何特定位置?我的代碼如何鏈接這些DLL?

感謝advanvce 維諾德

+0

C++沒有標準化的ABI,這意味着C++ dll在不同的C++編譯器之間甚至不兼容。是什麼讓你覺得它有可能在C#下工作?您將不得不將其平化爲C API或編寫圍繞C++代碼的包裝或墊片。 – greatwolf 2014-12-04 07:27:01

回答

1

不能引用到本機DLL添加。在DllImport中,您只需在運行時導入DLL,因此如果與DLL的路徑不在託管應用程序所在的目錄中,請注意DLL的路徑。

C++ -DLL的一個問題是,該DLL中的函數名稱可能會被修飾,因此您必須在使用它之前找出該修飾名稱。