簡體   English   中英

在C#項目中使用cpp dll

[英]Using cpp dll in c# project

我有一個win32 cpp dll和一個ac#項目(PROJ_1),它們使用dllimport調用win32 dll函數。 該DLL包含在項目PROJ_1中,並具有復制到輸出dir的生成動作。

另一個c#項目(PROJ_2)引用PROJ_1,PROJ_3引用PROJ_2。

所以,現在我們有了這樣的東西PROJ_3-> PROJ_2-> PROJ_1(dll)

因此,當我在VS 2010中進行構建時:1.在PROJ_1的bin中,我有win32 dll。 2.也在PROJ_2的bin中3.但是在PROJ_3中-不存在win32 dll

有什么問題以及如何解決?

如果項目在一個VS解決方案中,那么您在正確定義的項目之間是否存在依賴關系(右鍵單擊項目->項目依賴關系)? 是否所有項目都針對相同的目標體系結構(64/86)構建?

附帶問題-您是否考慮編寫C ++ / CLI包裝器?

我建議您將非托管DLL添加到PROJ3解決方案中,並在屬性中將“復制到輸出目錄”設置為“始終復制”

您可以檢查對PROJ_2的引用的“本地復制”屬性。 在PROJ_1中,將win32 dll添加到您的解決方案中(無參考,只需將其添加為文件即可,就像解決方案中的類一樣),並設置屬性Build Action = Content,復制到Output Directory = Always復制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM