我试图弄清楚为什么调试版本会因“无法找到依赖程序集 microsoft.vc80.debugcrt”事件错误而崩溃。
删除所有内容(不是 .cpp 或 .h 的内容)并重新创建解决方案后 - 我仍然遇到问题。
谷歌搜索没有结果,重新安装 VS 并没有产生任何变化。
我确实在 C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c 中有 dll。
我打开了 \debug\.exe.intermediate.manifest 文件,它有 2 个(dependentAssembly)条目:
第一个:name='Microsoft.VC80.DebugCRT' version='8.0.50608.0'
第二个:name='Microsoft.VC80.DebugCRT '版本='8.0.50727.762'
如果我删除一个并将另一个更改为 name='Microsoft.VC80.DebugCRT' version='8.0.50727.42'
我可以得到一个将开始的构建。
当然,我确实安装了 VS2008 - 但是控制版本的是什么?或者我怎样才能获得正确的调试 dll 版本来“坚持”。
VS2008是通过控制面板卸载的。
编辑:如果搜索 DebugCRT,则在注册表中找不到任何内容。
环境路径指向 VS8 文件夹。
c:\windows\winsxs\policies 文件夹中只有1个DebugCRT文件夹
(8.0.50.727.42)
c:\windows\winsxs\manifests文件夹只有.42版本的.cat和
.manifest.manifest文件(在上面的清单文件夹中)有 version="8.0.50727.42"
澄清:清单文件有 2 个“dependentAssembly”条目,每个条目都有不同的版本,而不是 .42。我可以删除 1 个条目并更改另一个条目以匹配 .42 以获取启动的调试版本。
EDIT2:我也在使用 boost 并且在 DLL 中有 .762 版本