问题
想使用VisualStudio 2019在客户机上远程调试软件,编译好程序后部署到客户机上,运行时报错:
问题解决
遇到MSVCP140D丢失时,因为程序是32位的,所以从开发环境System32下的MSVCP140D.dll复制到客户机上, 报错 “应用程序无法正常启动(0xc00000d),请点击“确定”关闭程序。”,当尝试吧SysWOW64下的MSVCP140D.dll复制到客户机上后,问题解决。
原因是开发环境中有一些不当(不清楚具体那个软件搞的鬼)的安装,会把64位的MSVCP140D.dll放到Windows/System32下,把32位的MSVCP140D.dll放到Windows/SysWOW64下!
如果遇到“应用程序无法正常启动...请单击“确定”关闭程序。”,有可能32位软件需要x86的MSVCP140D.dll,但是你却放了一个x64的MSVCP140D.dll.
可以通过VS提供的工具"x64 Native Tools Command Prompt for VS 2019" dumpbin /headers xx.exe/xx.dll 命令确认程序是x86还是x64;
例如我确认MSVCP140D.dll到底是x86还是x64