并排配置不正确
Posted
技术标签:
【中文标题】并排配置不正确【英文标题】:side-by-side configuration incorrect 【发布时间】:2019-12-09 15:37:21 【问题描述】:在调试配置中基于 VS2013 构建的 32 位进程已停止使用消息:“应用程序无法启动,因为它的”。位于不同文件夹中的应用程序的早期版本也停止使用相同的消息。发布版本确实有效。调试配置中的其他应用程序确实可以工作。没有发生操作系统更新。
这是depends32的输出:
可以看出有 64 个依赖项,但我不熟悉它们。
这是 sxstrace.exe 的部分输出:
INFO: Resolving reference Microsoft.VC80.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195".
INFO: Resolving reference for ProcessorArchitecture WOW64.
INFO: Resolving reference for culture Neutral.
INFO: Applying Binding Policy.
INFO: No publisher policy found.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Attempt to probe manifest at C:\WINDOWS\assembly\GAC_32\Microsoft.VC80.DebugCRT\8.0.50727.6195__1fc8b3b9a1e18e3b\Microsoft.VC80.DebugCRT.DLL.
INFO: Did not find manifest for culture Neutral.
INFO: End assembly probing.
INFO: Resolving reference for ProcessorArchitecture x86.
INFO: Resolving reference for culture Neutral.
INFO: Applying Binding Policy.
INFO: No publisher policy found.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Attempt to probe manifest at C:\WINDOWS\assembly\GAC_32\Microsoft.VC80.DebugCRT\8.0.50727.6195__1fc8b3b9a1e18e3b\Microsoft.VC80.DebugCRT.DLL.
INFO: Attempt to probe manifest at <path>\Microsoft.VC80.DebugCRT.DLL.
INFO: Attempt to probe manifest at <path>\Microsoft.VC80.DebugCRT.MANIFEST.
INFO: Attempt to probe manifest at <path>\Microsoft.VC80.DebugCRT\Microsoft.VC80.DebugCRT.DLL.
INFO: Attempt to probe manifest at <path>\Microsoft.VC80.DebugCRT\Microsoft.VC80.DebugCRT.MANIFEST.
INFO: Did not find manifest for culture Neutral.
INFO: End assembly probing.
ERROR: Cannot resolve reference Microsoft.VC80.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195".
ERROR: Activation Context generation failed.
这是安装在机器上的 VC 可再发行组件的屏幕截图:
从干净和机器重启构建没有帮助。
如何进一步调试?
【问题讨论】:
缺少 x86 调试运行时。 @Jeaninez-MSFT Microsoft.VC80.DebugCRT 这是 2005 调试运行时 【参考方案1】:根据您的描述,您的应用程序的调试版本似乎链接到没有 SP1 的 CRT 2005 的调试版本。 CRT 2005 的调试版本仅在安装了 Visual Studio 2005 的计算机上可用。如果您在没有 Visual Studio 2005 的计算机上运行调试应用程序,您看到的错误是预期的。
我建议你应该安装the VS2005 SP1
更多详情,我建议您可以参考以下链接: Why installing vcredist_x86.exe doesn't fix SideBySide error when I develop an EXE on one machine and run it on another one? https://social.msdn.microsoft.com/Forums/en-US/1943e726-40e1-49aa-9e1b-23c966bce921/side-by-side-loading-error-when-running-in-debug-mode-in-vs2005-or-deployed-to-progam-files?forum=vcgeneral
【讨论】:
以上是关于并排配置不正确的主要内容,如果未能解决你的问题,请参考以下文章