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

时间:2013-10-02 18:22:14

标签: c# c++ visual-c++ dll

我需要整合这个C# dll 在我的C ++代码中。我想用dll调用一些用C#编写的函数,用C ++编写其余的代码。什么是最简单,最快捷的方法?该程序将仅在Windows上执行。

1 个答案:

答案 0 :(得分:20)

从非托管代码中调用.NET DLL基本上有两种情况:

  1. .NET DLL公开COM接口。在这种情况下,您可以使用C ++代码中的COM。
  2. .NET DLL不公开COM接口。在这种情况下,您有两种可能性(简化):

    2.A。按照此处所述主持CLR:Loading the Common Language Runtime into a Process
    2.B.编写一段托管C ++代码(另一个DLL - 用C ++ / CLI编写)来包装.NET DLL并向未受管客户端公开“旧方式”DLL导出。

  3. 我不是特别了解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。

相关问题