如何在C#Visual Studio项目中添加VC ++ DLL作为参考?

时间:2009-03-20 11:07:13

标签: c# .net visual-studio interop

我想在我的C#Visual Studio项目中添加VC ++ DLL引用。但是当我尝试添加它时,我看到,“它不是有效的程序集或COM组件”。

请建议我如何使用VC ++ DLL作为C#项目的参考。

3 个答案:

答案 0 :(得分:1)

只有在C#中准备好使用C ++组件时才能使用它们,例如通过用C ++ / CLI编写或者编写为COM服务器。

如果你的组件是普通的C ++ dll,你需要编写一些包装代码,最好的是C ++ / Cli

答案 1 :(得分:1)

使用C#的C ++ DLL有两种选择:COM interop或P / Invoke。 COM Interop涉及在C ++ DLL中创建COM对象,然后将其添加为引用。此时,您可以像使用C#对象一样使用COM对象(大部分时间)。

P / Invoke允许您从C#调用导出的函数(想想从C#调用标准的Win32 API函数)。这可能更容易设置,因为您需要做的就是导出一个函数,但这可能会导致您重构C ++ DLL中的代码,因为它不是一种非常OOP的处理方式。

答案 2 :(得分:0)

我不确定这是否解决..

运行:

tlbimp /out:MyOldCom.dll MyNewAssembly.tlb

然后像使用任何其他组件一样使用它。

请参阅

http://msdn.microsoft.com/en-us/library/aa302324.aspx

http://msdn.microsoft.com/en-us/magazine/cc301501.aspx

IE)

一种方法是将DLL打包为COM类,另一种方法是使用DllImport