c# - 如何将 C++ dll 导入和使用/运行到另一个 C# 项目中?

标签 c# c++ dll interop

我已经创建了一个 C# 应用程序。在这个应用程序中,我想使用/运行来自另一个项目的 C++ API(API 是用宏编码编写的)。我尝试导入该 C++ 项目的 dll 并尝试调用属于该 API 的函数。问题是它抛出“无法找到方法”错误。

如何在 C# 项目中运行 C++ 项目?

最佳答案

您不能将 native DLL 添加为对托管项目的引用。您有 3 个主要选项:

  1. 使用 p/invoke 使 native 函数可用。
  2. 通过 COM 公开 native 代码。
  3. 将 native 代码编译为托管 C++ 程序集。

对于任何大量的代码,选项 3 都是最高效的方法。

关于c# - 如何将 C++ dll 导入和使用/运行到另一个 C# 项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10186107/

相关文章:

c++ - VisualC++ DLL 中的 OpenSSL

c++:运算符重载和错误处理

c++ - VS2010 无法链接它应该构建的库

c# - 通过 NetworkStream(套接字)写入/读取字符串以进行聊天

c# - Unity GUIText 碰撞 C#

c# - 在 C# 中究竟什么时候执行事件?

c# - 应该定期调用 GC.Collect() 吗?

C++ 搞砸了 : optional argument forced to be mandatory

c++ - 基于 SonarQube 和 Qt 的资源

c# - 从 C# 调用非托管 dll。拍2张