swig 生成 cs,我就省略不说了,网上很多!
我遇到一个问题: cs文件有了,c++的dll也生成了,dll也放到BIn下面了,但是初始化对象的时候还是会报错!
找了好长时间才发现,dll拷贝到Bin下面,不代表网站加载了dll
所以要加载DLL,
1 , 添加引用using System.Runtime.InteropServices;
2.添加 代码
[DllImport("kernel32.dll", EntryPoint = "LoadLibrary")]
public static extern IntPtr LoadLibrary(string lpLibFileName);
3. 构造函数添加
string path = HttpContext.Current.Server.MapPath("~/Bin");
LoadDll(path);
4,添加函数
public bool LoadDll(string currentDirectory)
{
string _path_dll = Path.Combine(currentDirectory, @"FaceCompare.dll");
IntPtr _dll_addr = LoadLibrary(_path_dll);
if (_dll_add == IntPtr.Zero)
{
return false;
}
return true;
}
dll 所依赖的其他dll也要load
这样就可以了