我有一个朋友从我那里接手了一个 Visual C++ 项目,但在运行它时遇到了麻烦。它是一个图形应用程序,它使用 Qt GUI 库。我提到这一点的原因是因为下面的错误。
他可以使用 Visual Studio 2010 构建和链接程序,但是当他运行它时,事件查看器中会出现以下消息:
“D:\Test\Qt\4.2.2\bin\QtGuid4.dll”的激活上下文生成失败。依赖程序集 Microsoft.VC80.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b", type="win32", version="8.0.50608.0" 找不到。请使用 sxstrace.exe 进行详细诊断。
当我们按照消息要求执行并运行 sxstrace.exe 时,我们会看到以下内容:
开始激活上下文生成。输入参数:Flags = 0 ProcessorArchitecture = Wow32 CultureFallBacks = en-US;en ManifestPath = D:\Test\Qt\4.2.2\bin\QtGuid4.dll AssemblyDirectory = D:\Test\Qt\4.2.2\bin\
--------------- 信息:解析清单文件 D:\Test\Qt\4.2.2\bin\QtGuid4.dll。信息:清单定义标识为(空)。信息:参考:Microsoft.VC80.DebugCRT,processorArchitecture="x86"type="win32",version="8.0.50608.0" 信息:解析参考 Microsoft.VC80.DebugCRT,processorArchitecture="x86""win32",version=" 8.0.50608.0”。信息:正在解析 ProcessorArchitecture WOW64 的参考。信息:解决文化中性的参考。信息:应用绑定策略。信息:未找到发布者政策。信息:未找到绑定策略重定向。信息:开始装配探测。信息:未在 WinSxS 中找到程序集。信息:尝试在 C:\Windows\assembly\GAC_32\Microsoft.VC80.DebugCRT\8.0.50608.0__1fc8b3b9a1e18e3b\Microsoft 中探测清单。VC80.DebugCRT.DLL。信息:未找到文化中性的清单。信息:末端装配探测。信息:正在解析 ProcessorArchitecture x86 的参考。信息:解决文化中性的参考。信息:应用绑定策略。信息:未找到发布者政策。信息:未找到绑定策略重定向。信息:开始装配探测。信息:未在 WinSxS 中找到程序集。信息:尝试在 C:\Windows\assembly\GAC_32\Microsoft.VC80.DebugCRT\8.0.50608.0__1fc8b3b9a1e18e3b\Microsoft.VC80.DebugCRT.DLL 处探测清单。信息:尝试在 D:\Test\Qt\4.2.2\bin\Microsoft.VC80.DebugCRT.DLL 中探测清单。信息:尝试在 D:\Test\Qt\4.2.2\bin\Microsoft.VC80.DebugCRT.MANIFEST 探测清单。信息:尝试在 D:\Test\Qt\4.2.2\bin\Microsoft.VC80.DebugCRT\Microsoft 处探测清单。VC80.DebugCRT.DLL。信息:尝试在 D:\Test\Qt\4.2.2\bin\Microsoft.VC80.DebugCRT\Microsoft.VC80.DebugCRT.MANIFEST 探测清单。信息:未找到文化中性的清单。信息:末端装配探测。错误:无法解析引用 Microsoft.VC80.DebugCRT、processorArchitecture="x86"、publicKeyToken="1fc8b3b9a1e18e3b"、type="win32"、version="8.0.50608.0"。
很抱歉那条消息的长度,但我认为它可能会唤起一些回忆。这是因为他没有安装 Visual C++ 2005(我相信 VC80 就是从那里来的)C 运行时库吗?如果是这样,他可以下载 VC++ 再分发包并安装它,然后一切都会好起来吗?或者这是一个完全不同的问题?