我怎样才能将用c/C++编写的exe引用到c#项目中?

问题描述:

我有一个使用C语言创建的相机SDK,我想从.NET应用程序调用它。我怎样才能将用c/C++编写的exe引用到c#项目中?

我们的主要项目是用.NET框架编写的。我们正在尝试将相机SDK与.NET项目集成。 SDK提供了一些DLL,但是当我试图引用它时,我得到了一个COM(通用对象模型)错误。

我们无法直接解决这个问题,之后我尝试在.h和c#DLL文件之间创建一个DLL接口,但我收到了相同的COM错误。此外,SDK提供了一些用于编程摄像头的示例(例如:搜索IP连接的摄像头),但对.EXE的引用不起作用,并且出现COM错误。

+0

@OP - 我编辑了你的问题以提高英文的可读性。请查看我的编辑,并确保我没有改变你的问题的意图。 – STLDeveloper

+0

将类型库导入到您的项目中。如果组件存在于.exe中,那么应该有一个.tlb文件。 – xxbbcc

+0

@xxbbcc组件居住在.EXE中,但文件中没有类型库。可能是文件被损坏了。 – fmg

有在微软的网站上的好文章就如何从托管代码调用本机DLL:How to: Call Native DLLs from Managed Code Using PInvoke

它至少应该让你开始了你的路径。

+0

感谢您的编辑,@ user4581301。我应该在这方面做得更好。 – STLDeveloper