并排配置不正确

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

【讨论】:

以上是关于并排配置不正确的主要内容,如果未能解决你的问题,请参考以下文章

应用程序无法启动,因为它的并排配置不正确

TortoiseProc Launch failed: 应用程序无法启动,因为它的并排配置不正确

如何正确浮动两列与css并排

运行 Qt Creator 时出现并排错误

将约束添加到并排按钮

如何在我的 Twitter 克隆中并排设置侧边栏、Feed 和小部件?