簡體   English   中英

How to import C++ Legacy DLL in C# UWP application without Windows Runtime Component

[英]How to import C++ Legacy DLL in C# UWP application without Windows Runtime Component

We have a requirement to import a C++ legacy dll inside C# UWP application and access the methods inside the c++ classes. 我們沒有源代碼,因此無法使用 Windows 運行時組件。

請讓我知道如何在 Visual C# 通用 Z0F4137ED1502B5055D6083AA2ZB 應用程序中導入 c++ dll。

我可以在視覺 C++ 應用程序中添加 dll 作為參考,但無法在視覺 C# ZD0836D7D5DBADA3AF4 應用程序中做到這一點。 我已經嘗試了 dllimport,但它拋出了 dll not found 異常。

首先,UWP 不能僅通過 DLLImport 導入舊版 C++ dll。

如果要將舊版 c++ 函數導入 C#,第一個建議是使用 WinRT 組件包裝該 C++ 邏輯。

如果您想 PInvoke dll,您可以按照以下步驟操作(您可以參考此線程):首先,將 dll 添加到您的 UWP 項目中,確保將其設置為“內容”。 然后在正確的 cs 文件中,使用 DllImport PInvoke dll。

此外,您需要確保您的 dll 沒有在 WinRT 中使用禁止的 API。 您可以使用 dll 的 /ZW 編譯選項來檢查這一點。 有一個類似的線程,你可以參考它。

暫無
暫無

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

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