簡體   English   中英

將C ++托管dll導入C#.NET項目時出現問題

[英]Problems while Importing a C++ managed dll to C#.NET Project

標題似乎是一個重復的問題,但讓我澄清一下,我已經搜索並遵循了不同的方法。
基本上,我必須將managed C++ dll導入C#項目。 我查閱了一些教程,最后創建了一個managed C++ dll 現在,在導入dll出現以下錯誤:

試圖加載格式錯誤的程序

我發現像一些解決方案, 但這些方案不能幫助我 面對這個錯誤之前,我曾咨詢溶液中,然后一個了。

這是我嘗試導入dll的屏幕截圖:

設定:

使用構建設置導入dll很好

碼:

在代碼中調用dll

有人請指導我有關在項目中導入dll的正確方法。

此C ++庫適用於某些體系結構(x64或x86)。 另一方面,C#不是(任何CPU),這就是這種錯誤的原因-C#最有可能假設您具有x64非托管庫。 您應該將C#項目中的體系結構限制為這兩個(x64或x86)中的一個,以便在兩個項目中它們都是相同的。

您不應該在預構建步驟中復制文件嗎? 在構建之前,請確保它在正確的位置。 我還將刪除exit 0 ,這不是必需的。

DllImport通常用於本機C樣式API,而不是托管和C ++ / CLI程序集。 這些.Net程序集,無論是否為混合模式,都可以添加到通常的程序集依賴項位置。

如果這是“ Managed C ++”而不是“ C ++ / CLI”程序集,則它也可能與目標.Net框架不兼容。

暫無
暫無

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

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