Csharp/C#教程:将C ++ DLL添加到C#项目中分享


将C ++ DLL添加到C#项目中

我正在尝试在C#项目中使用LAME的lame_enc.dll文件,但添加该东西似乎是不可能的。

我一直收到错误,指出无法添加引用,请检查是否可以访问,有效的程序集或COM组件。

虽然我想使用这个function,但我没有C ++经验。 现在我正在使用.NET框架中的Process调用lame.exe并做一些事情,但我想知道是否还有其他方法。

您必须使用P / Invoke从托管代码调用非托管API。

您只能添加托管程序集作为托管项目的引用。 在这种情况下我通常做的是将其添加为ressource而不是“copy local”设置。 这样,DLL就与您的项目绑定并一起部署。 然后我使用DllImport从该DLL手动获取我需要的API。

要在C#中使用非托管DLL(本机C ++),您必须使用DllImport,而不是在visual studio中添加对项目的引用(这就是您收到错误的原因)。

以下是MSDN中DllImport的文档。

您需要使用PInvoke来调用本机lame dll中的函数。 但是,您只能调用已导出为“C”样式的函数。

您可以使用像“PInvoke Interop Assistant”这样的工具,它可以帮助您在计算PInvoke调用签名时从C#调用您的本机dll:

https://clrinterop.codeplex.com/releases/view/14120

上述就是C#学习教程:将C ++ DLL添加到C#项目中分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1030661.html

(0)
上一篇 2022年1月13日
下一篇 2022年1月13日

精彩推荐