在C#上使用非clr dll

时间:2014-03-04 00:28:00

标签: c# c++ .net dll clr

我正在使用许可库(c ++ dll)来开发c#应用程序。

我没有该库的任何代码,而且这不是clr。

但是我可以使用pInvoke在c#上导入它的方法。

[DllImport("FaceFinding.dll", ExactSpelling = true, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
unsafe internal static extern int EnrollmentGalleryDBOneToOne(StringBuilder currentFolderPath);

它在调试模式下完美运行。

但这是问题。

当我制作Visual Studio Installer项目时,我无法在安装程序中导入该dll文件,因为它不是clr。

有没有办法在c#installer项目中导入非clr dll?

1 个答案:

答案 0 :(得分:0)

将所有非托管DLL(包括FaceFinding.dll)放在输出文件夹中,安装程序项目的文件系统编辑器中。这样,它们将与您的申请一起发布。

作为旁注,我还建议确保此第三方DLL的许可允许您通过检查其许可协议将其与您的应用程序一起分发。