Я пытался выяснить, почему произошла ошибка отладочной сборки с ошибкой события "зависимая сборка microsoft.vc80.debugcrt".
После удаления всего (ничего, кроме .cpp или .h) и воссоздания решения - у меня все еще была проблема.
Поиск в Google был бесплодным, и переустановка VS не произвела никаких изменений.
У меня были библиотеки в C: \ WINDOWS \ WinSxS \ x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c.
Я открыл файл \ debug \ .exe.intermediate.manifest, и в нем было 2 записи (variableAssembly):
1-е: name = 'Microsoft.VC80.DebugCRT' version = '8.0.50608.0'
2-е: 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 \ rules есть только 1 папка DebugCRT
(8.0.50.727.42)
Папка c: \ windows \ winsxs \ манифесты имеет только .42 версии .cat и .manifest
Файл .manifest (в указанной выше папке манифеста) имеет версию = "8.0.50727.42"
Уточнение: в файле манифеста есть 2 записи "variableAssembly", каждая из которых имеет разные версии, а не .42. Я могу удалить одну запись и изменить версию на другую, чтобы она соответствовала .42, чтобы начать отладочную сборку.
EDIT2: я также использую boost и внутри DLL есть версия .762