问题:在自己的电脑上(win10)使用VS2013编写的MFC,把这个工程文件(不是exe)拷贝到另一台电脑上(win7),点击运行后提示“应用程序无法正常启动0xc0150002”,程序运行不起来。
解决:(1)报错后,“我的电脑”右键“管理”,“事件查看器”—>“Windows日志”—>“应用程序”,查看错误信息,提示“激活上下文生成失败。找不到从属程序集Microsoft.VC90.MFC,processorArchitecture=“amd64”,publicKeyToken=“1fc8b3b9a1e18e3b”,type=“win32”,version=“9.0.21022.8”。 请使用 sxstrace.exe 进行详细诊断。”
(2)原因:应用程序是在32位环境下编译,到64位环境下找不到对应的C++库导致。VC90对应VC++2008,查看控制面板,该电脑中已安装的Microsoft Visual C++ 2008 Redistributable Package为x86版本。
(3)下载Microsoft Visual C++ 2008 Redistributable Package(x64)并安装。安装后在控制面板可看到安装文件为“Microsoft Visual C++ 2008 Redistributable – x64 9.0.21022”。
(4)经网站上查看,类似的问题均为本电脑系统缺少必要的C++库导致。