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
這樣就可以了