如何将 C++ dll 连接到 C# 项目?

Posted

技术标签:

【中文标题】如何将 C++ dll 连接到 C# 项目?【英文标题】:How to connect C++ dll to C# project? 【发布时间】:2016-11-18 12:15:54 【问题描述】:

我有一个用 C++ 制作的 dll 文件,我需要将它连接到我的 C# winform 应用程序以使用不同的方法。我尝试像以前使用普通 C# dll's 一样引用它,但是由于 dll 的格式错误,所以有例外。 之后,我尝试按照我的推荐使用DllImport,效果非常好。所以,我的问题是,DllImport 是这种情况下唯一的解决方案吗?

【问题讨论】:

这是唯一的解决方案吗?不。它是最简单/最干净的一个吗?在极少数情况下,它需要有一个引用的 dll。在这些情况下,您需要在 vb6 中创建一个包装 dll,或者有时 vb.net 的工作方式取决于使用的类型并引用该 COM dll。 【参考方案1】:

简短的回答是是的[DllImport]导入本机方法的方式。

还有其他的,例如 C++/CLI 包装器或 COM,但它们工作更多,乐趣更少。

【讨论】:

以上是关于如何将 C++ dll 连接到 C# 项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 c++ 项目中调用用 c# 创建的 dll 文件? [复制]

如何将 Qt 库连接到标准 C++ 项目?

创建可以从 c# 和 c++ 中使用的 c# dll

如何安全地将字符串引用从 c# 传递到 c++?

从 C++ 调用 C# dll

如何将 vs2008 c++ OpenCV dll 构建到 vs2008 C#?