前提:
1、VS2015 C#winForm客户端程序,使用了C++编译的dll(此处简称A.dll),调试没问题。
2、使用VS自带的打包程序进行打包,也将A.dll打包进去了。
结果:
拿到其他电脑上安装运行后,涉及到使用A.dll的功能,都提示“找不到指定的模块”。
解决:
1、检查A.dll是否打包进去—–>确认安装目录下有A.dll
2、检查A.dll关联的dll是否打包进去——->经确认有四个dll未打包进去。
如何确认缺少的dll:由于这四个dll是系统库文件,一般情况下不会注意到。(哎呀,多亏了自己灵光一闪,哈哈)
我是通过工具DLLShow和depends22_x86查看A.dll关联的dll,其实只用depends22_x86就可以了。效果图如下:(看到了吧,都是系统库文件啊,比较难找的T_T。)
将黄色部分找到,从网上下载或者去本机C盘找(因为本机没问题,说明本机肯定有这些文件),找到后用工具再查看一遍,如果还有黄色提示,那就继续找,找到没有黄色部分为止。 <