如何在c#项目中使用c ++ dll?

时间:2011-10-17 12:32:53

标签: c# .net winforms dll add-references-dialog

  

可能重复:
  Using C++ Class DLL in C# Application

我尝试在c#

中添加添加c ++ dll的引用失败

如果你有任何其他方法在c#中添加或使用c ++ dll。我们怎么用?

我在哪里错误地在我的c#项目中添加dll?

提前致谢

2 个答案:

答案 0 :(得分:4)

为了在C#中使用本机C ++库,您通常必须为此创建一个C++/CLI包装器。只要你的DLL的API只包含简单的类C函数,P / Invoke就可以,但是当API包含真正的C ++类时,C ++ / CLI对于该任务来说要好得多。

答案 1 :(得分:2)

您不添加对C ++库的引用,仅适用于.NET程序集。你需要的是使用P / Invoke的平台互操作。 MSDN在这里有一堆信息: -

http://msdn.microsoft.com/en-us/library/aa288468(VS.71).aspx

它基本上意味着您必须编写方法存根,以便在外部库中调用导出的函数。

根据您的C ++项目设置,还有C ++ / CLI方式可以更好,但我个人更喜欢传统的Windows API函数导出方式。