c# - 将第 3 方 C++ DLL 引用到 VS 2013 项目中

标签 c# c++ visual-studio

我得到了一个用 C++ 编写的 DLL。除了 DLL,我还收到了所需的输入参数和预期的输出以及一个 .h 包含文件。

似乎无法将其作为引用包含在我的项目中。我的程序是右键单击 References 和 Add Reference,单击 Browse,然后双击 DLL。我得到的错误是:

A reference to 'c:......\dll' could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component.

这个问题可能是由于 C++ 的名称修改引起的,但我不确定如何解决这个问题。 DLL 的作者告诉我,它是为遇到相同问题的另一位客户编写的,但最终成功引用了它。我无法接触到那个“客户”,想知道是否有人有建议。

最佳答案

添加引用不是您从 C# 代码链接到此非托管 DLL 的方式。相反,您需要:

  1. 将头文件转换为 C# p/invoke 调用,或
  2. 围绕非托管 DLL 创建一个 C++/CLI 包装器,并从您的 C# 项目中添加对其的引用。此选项通常涉及链接到 DLL 的 .lib 导入库,该库应随 DLL 一起提供。

关于c# - 将第 3 方 C++ DLL 引用到 VS 2013 项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24540053/

相关文章:

c# - 如何超时 "A network-related or instance-specific error occurred while establishing a connection to SQL Server"错误

c# - 共享 Windows Phone 运行时组件

c++ - 自定义caffe windows cpp中的卷积层

c++ - 在条件下更新变量的最快方法是什么?

javascript - 没有从 SignalR 跨域返回任何消息,但 ping 正常

c# - 如何将 48bpp 图像的原始数据加载到位图中?

c++ - 是否可以使用在 Windows 10 上运行的 Qt 5.12 构建针对 Windows XP 的 Qt 应用程序?

c++ - "LNK1104: cannot open file '×'": How to find out who wants X linked in?

c# - ClosedXML 添加公式会创建不可读的内容

c# - 如何从反编译 .NET 程序集创建的 .resources 文件中提取图像?