今天在封装海康设备的时候出现了这么一个问题,在初始化的时候提升无法加载 DLL“..inHCNetSDK.dll”: 找不到指定的模块。
在网上查找了几个方法,并不是很靠谱,于是从源头找找,是什么问题
F12导航到定义函数的位置,发现原先的加载dll函数的路径是....in,一般来说SDK的简要说明会让你把一些sdk放在bin文件目录下面,比如我的这个:
但是我是在Release版本下编译的,产生的.exe可执行性文件也是在Release文件夹里面,在这一目录上一级没有bin这个文件夹的,简而言之:
可执行性文件与我们封装的dll不在同一个文件夹下面就会出现这种错误
知道了错误原因,下面就好办了,将需要封装的dll文件保存到生成可执行性文件的目录里面,然后更改 [DllImport(@"HCNetSDK.dll")]即可(因为和可执行性文件在同一路径下面)
运行调试。搞定
PS 1 海康威视SDK的错误代码手册
2 WEB端的端口和SDK的端口不一样,注意输入区别
3 我自己上传了一个海康威视的开发手册