在使用别人提供的库进行编程的时候,设置好目录后,编译成功通过,但运行时却出现了如下错误(vs2012,windows8):
google的解决方案很多是说取消程序生成清单,也就是取消使用menifest文档,但是按以上方法操作之后,依然无法解决。打开计算机管理的日志,打开方法是右键计算机->管理->windows日志->应用程序,可以看到如下错误信息(SidebySide ID:33):
“E:\smart city\new\Baseline+SDK及其使用说明\SDK及使用说明\20140314_AnalysisSDK_V6_px_1.1\test\Debug\AnalysisSDKd.dll”的激活上下文生成失败。 找不到从属程序集 Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"。 请使用 sxstrace.exe 进行详细诊断。
于是使用 sxstrace.exe 进行诊断,使用方法为:
=================开始生成激活上下文。输入参数:Flags = 0ProcessorArchitecture = Wow32CultureFallBacks = zh-CN;zh-Hans;zh;en-US;enManifestPath = E:\smart city\new\Baseline+SDK及其使用说明\SDK及使用说明\20140314_AnalysisSDK_V6_px_1.1\test\Debug\AnalysisSDKd.dllAssemblyDirectory = E:\smart city\new\Baseline+SDK及其使用说明\SDK及使用说明\20140314_AnalysisSDK_V6_px_1.1\test\Debug\Application Config File =-----------------信息: 正在解析清单文件 E:\smart city\new\Baseline+SDK及其使用说明\SDK及使用说明\20140314_AnalysisSDK_V6_px_1.1\test\Debug\AnalysisSDKd.dll。信息: 指令清单定义标识是 (null)。信息: 参考: Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"信息: 正在解析参考 Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"。信息: 正在解析 ProcessorArchitecture WOW64 的参考。信息: 正在解析区域性 Neutral 的参考。信息: 正在应用绑定策略。信息: 未找到发布服务器策略。信息: 未找到绑定策略重定向。信息: 开始程序集探测。信息: 未找到 WinSxS 中的程序集。信息: 尝试在 C:\Windows\assembly\GAC_32\Microsoft.VC90.DebugCRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.DebugCRT.DLL 上探测指令清单。信息: 未找到区域性 Neutral 的指令清单。信息: 结束程序集探测。信息: 正在解析 ProcessorArchitecture x86 的参考。信息: 正在解析区域性 Neutral 的参考。信息: 正在应用绑定策略。信息: 未找到发布服务器策略。信息: 未找到绑定策略重定向。信息: 开始程序集探测。信息: 未找到 WinSxS 中的程序集。信息: 尝试在 C:\Windows\assembly\GAC_32\Microsoft.VC90.DebugCRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.DebugCRT.DLL 上探测指令清单。信息: 尝试在 E:\smart city\new\Baseline+SDK及其使用说明\SDK及使用说明\20140314_AnalysisSDK_V6_px_1.1\test\Debug\Microsoft.VC90.DebugCRT.DLL 上探测指令清单。信息: 尝试在 E:\smart city\new\Baseline+SDK及其使用说明\SDK及使用说明\20140314_AnalysisSDK_V6_px_1.1\test\Debug\Microsoft.VC90.DebugCRT.MANIFEST 上探测指令清单。信息: 尝试在 E:\smart city\new\Baseline+SDK及其使用说明\SDK及使用说明\20140314_AnalysisSDK_V6_px_1.1\test\Debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.DLL 上探测指令清单。信息: 尝试在 E:\smart city\new\Baseline+SDK及其使用说明\SDK及使用说明\20140314_AnalysisSDK_V6_px_1.1\test\Debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.MANIFEST 上探测指令清单。信息: 未找到区域性 Neutral 的指令清单。信息: 结束程序集探测。错误: 无法解析参考 Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"。错误: 生成激活上下文失败。结束生成激活上下文。
参考链接:
sxstrace.exe使用方法:http://www.fundootech.com/2013/01/how-to-use-sxstraceexe.html
SidebySide解决方法:http://jackiechung308.blog.163.com/blog/static/203407219201362213030536/