使用c#封装海康SDK出现无法加载 DLL“..\bin\HCNetSDK.dll”: 找不到指定的模块

时间:2023-03-09 06:09:47
使用c#封装海康SDK出现无法加载 DLL“..\bin\HCNetSDK.dll”: 找不到指定的模块

最近在研究网络摄像头的二次开发,测试了一款海康威视的网络摄像头,程序调试的时候,出现如题的报错。

调试随机自带的demo时,程序运行正常,但当把该程序引入到我自己的程序中时,就开始报错。根据开发软件包的提示,将调试所需的DLL文件拷贝到bin文件下,仍然报错。

根据错误提示“无法加载DLL“..\bin\HCNetSDK.dll”:找不到指定的模块”信息,找到报错内容的定义处,发现为DLL文件引用。
与报错信息相同的为导入DLL文件的路径,即程序在该路径下无法找到所需的DLL文件。
因此我将DLL文件全部拷贝到我自己程序的BIN文件夹下,调试程序,仍然报错。
继续研究demo程序的特征,发现demo程序的bin文件夹下没有debug文件夹,故添加的DLL文件与程序运行文件exe为同一路径。这下终于找到解决方案啦!

我将DLL文件拷贝到我自己程序的bin文件里的debug文件夹中,在 程序中调用DLL文件的代码中,修改引用路径:DLL“..\Debug\HCNetSDK.dll”

修改完,调试程序,ok啦!
使用c#封装海康SDK出现无法加载 DLL“..\bin\HCNetSDK.dll”: 找不到指定的模块