在VS2012下编写的win32程序,运行生成了一个动态链接库文件,在另一个C#编写的界面程序中调用该dll库,该C#程序在装有VS2012的电脑上运行完全正确,但将该程序的执行文件拿到装VS2010的电脑上和装VS2013的电脑上运行,就会提示该dll库加载失败;在编写C#代码时.NET选择的是4.0版本,如果不调用该dll库,则在VS2010或VS2013上都能正确运行;报错图片如下:
你用VS提供的“安装项目”模板打包安装没有?
如果目标机器缺少对应的.Net Framework,会提示或自动下载安装的。
还有你dll、exe编译选项的64位/32位是否一致?和目标系统的64位/32位是否一致?
用Depends.exe 查看下你生成的动态库是否还需要其他的依赖库。可能刚好在装有VS2012的电脑上能找到,但在其他两台机器上没有找到依赖库。