1. 程式人生 > 其它 >C#上使用DllImport方式載入封裝好的.dll動態庫

C#上使用DllImport方式載入封裝好的.dll動態庫

工具: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在工具中進行設定