C#上使用DllImport方式載入封裝好的.dll動態庫
阿新 • • 發佈:2021-08-12
工具:vs2010
語言:c#
庫檔案:HCNetSDK.dll
問題:
1、HCNetSDK.dll 找不到指定的模組
2、HCNetSDK.dll 試圖載入格式不正確的程式
由於海康sdk是封裝的動態連結庫dll庫的形式,所以c#中使用比較麻煩的,海康demo使用的是動態載入,直接直接使用dll檔案,
使用[DllImport(@"..\..\bin\HCNetSDK\HCNetSDK.dll")],需using System.Runtime.InteropServices;
問題一:
方案、將HCNetSDK.dll檔案放在專案的bin目錄下,也可以解決,安上面的路徑是在bin目錄,不要放在二級目錄。
問題二:
方案:由於庫與選擇編譯的平臺不匹配導致,載入格式不正確。可以選中專案,右擊,點選屬性,在生成頁,目標平臺 選項,選擇你是x64還是x86
海康的sdk動態連結庫dll只能用於windows的應用程式中,在WinForm程式中按照上述的方法已經驗證成功,在Windows服務上使用時海康的dll檔案會造成服務執行失敗,此時需在winform上封裝生成dll,將winform上的dll新增引用到service上,將海康的dll放入到bin目錄下,服務既可執行。
在web的應用程式中需使用高版本的vs在工具中進行設定