我得到了一个用 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 的方式。相反,您需要:
- 将头文件转换为 C# p/invoke 调用,或
- 围绕非托管 DLL 创建一个 C++/CLI 包装器,并从您的 C# 项目中添加对其的引用。此选项通常涉及链接到 DLL 的 .lib 导入库,该库应随 DLL 一起提供。
关于c# - 将第 3 方 C++ DLL 引用到 VS 2013 项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24540053/