有沒有一種方法可以指定要用DllImport導入的給定程序集的搜索路徑?[DllImport("MyDll.dll")]static extern void Func();這將在應用程序目錄和PATH環(huán)境變量中搜索dll。但是有時dll將放置在其他位置??梢栽赼pp.config或清單文件中指定此信息,以避免動態(tài)加載和動態(tài)調(diào)用嗎?
3 回答

撒科打諢
TA貢獻1934條經(jīng)驗 獲得超2個贊
這可能很有用DefaultDllImportSearchPathsAttribute類
Eg
[assembly: DefaultDllImportSearchPaths(DllImportSearchPath.UserDirectories)]
還要注意,您也可以使用AddDllDirectory,這樣就不會搞砸了:
[DllImport("kernel32.dll", SetLastError = true)]
static extern bool AddDllDirectory(string path);

慕的地6264312
TA貢獻1817條經(jīng)驗 獲得超6個贊
AddDllDirectory首次調(diào)用導入的函數(shù)之前,請嘗試使用其他DLL路徑進行調(diào)用。
如果您的Windows版本低于8,則需要安裝此修補程序,從而AddDllDirectory為Windows 7、2008 R2、2008和Vista(缺少XP的修補程序)添加缺少該功能的API 。
- 3 回答
- 0 關(guān)注
- 641 瀏覽
添加回答
舉報
0/150
提交
取消