在项目中使用C#代码调用C++ DLL时。常常会出现这个问题:在开发者自己的电脑上运行没有问题,但是部署到客户电脑上时会出现下面问题:
Unhandled Exception:System.DllNotFoundException: Unable to load DLL"**":找不到指定的模块。
出现这个问题的原因:一般是该客户电脑上缺少该DLL的依赖项,需要使用Dependency Walker查看。
http://www.dependencywalker.com/下载后在客户电脑上查看依赖项
例如缺少mfc100ud.dll
在运行环境正常的电脑的C:\Windows\System32 和 C:\Windows\SysWOW64查找这个dll,找到后拷贝到客户电脑对应的目录中