天天看点

无法加载baidufaceapi.dll 找不到指定模块

最近有个c#项目用到了百度的人脸识别,有几个比较坑的地方,写一下解决方式

问题1.无法加载baidufaceapi.dll 找不到指定模块

环境:在我本机是可以调用的,然后我部署到机器上后,就出现这个问题了。

解决过程:

1.一般无法加载某个dll,找不到指定模块这个问题是缺少dll的问题,我把baidufaceapi.dll 拷贝到debug和system32下面了还是不行,感觉是baidufaceapi.dll引用的某个dll缺失。

2. 用dependcywalker( 下载地址) 查了一下baidufaceapi.dll引用的动态库,发现缺失少了一些,主要是一些msvcp100.dll 这样的,我将我电脑的window\system32下面的一些msvcp这样的dll拷贝到机器上,跳过一些不能更改的(系统运行正在占用)后,还是不行,但是用dependcywalker检测,所有依赖的dll都有了。

3. 重新看的文档,找了个机器人问了问,说是缺少运行库,环境最好装vs2015,好吧,下载个vs2015,安装的经典,安装过程中有一些包找不到也没装上,大部分都装上了,重启,嘿可以了!

总结:缺失依赖的dll,安装vs2015补全

问题2.BadImageFormatException试图加载格式不正确的程序

这个是x86位程序引用了x64的baidufaceapi.dll ,或者改成x86的baidufaceapi.dll 或者把程序改成x64都可以