簡體   English   中英

在 C++ 代碼中使用 C# dll

[英]Using C# dll in C++ code

我需要在我的 C++ 代碼中集成這個C# dll 我想從dll調用一些用C#編寫的函數,其余的代碼用C++編寫。 最簡單快捷的方法是什么? 該程序將僅在 Windows 上執行。

從非托管代碼調用 .NET DLL 基本上有兩種情況:

  1. .NET DLL 公開了一個 COM 接口。 在這種情況下,您可以在 C++ 代碼中使用 COM。
  2. .NET DLL 不公開 COM 接口。 在這種情況下,您有兩種可能性(為了簡單起見):

    2.a. 按照此處所述托管 CLR: 將公共語言運行時加載到進程中
    2.b. 編寫一段托管 C++ 代碼(另一個 DLL - 用 C++/CLI 編寫)來包裝 .NET DLL 並將“舊方式”DLL 導出公開給非托管客戶端。

我不是特別了解sharpbox系統,但它看起來像純.NET並且不公開COM接口,所以2.b可能是最好的方法(不是那么容易......)。 也許它有一個你可以使用的 REST/Web 更簡單的 API。

PS:您還可以將導出添加到 .NET DLL。 這在這里描述: Is is possible to export functions from a C# DLL like in VS C++? 但它有點hacky。

暫無
暫無

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

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