2010-01-18 4 views
2

Я открываю файл решения Visual Studio 2005 и создаю его в режиме выпуска и отладки. Хотя я могу запустить приложение в режиме выпуска, когда я пытаюсь запустить режим отладки, я получаю следующее сообщение об ошибке:Почему режим отладки Visual Studio 2005 не работает?

Unable to start program XXXX.exe. This application has failed to start because the application configuration is incorrect. Review the manifest file for possible errors. Reinstalling the application may fix this problem. For more details, please see the application event log.

Когда я проверил свою .exe с помощью зависимостей ходунка, он говорит следующее .dll «ю.ш. отсутствует:

msvcp80D.dll 
msvcr80D.dll 
IESHIMS.DLL 
WER.DLL 
+0

.dll файлы отсутствуют? Попробуйте проверить эту систему на наличие вредоносных программ и запустить старомодное сканирование разделов, чтобы увидеть, есть ли какой-либо ущерб файловой структуре. Кроме того, Visual Studio может иметь возможность самостоятельного ремонта где-то в настройке. – Hardryv

+0

Спасибо Hardryv, Есть ли возможность, что мне нужен пакет обновления visual studio 2005 или что-то похожее на это? – user240709

+0

Я лично не подозреваю, что проблема, с которой вы столкнулись, должна быть решена пакетом обновления, но это трудно сказать. Как правило, я всегда устанавливаю последний пакет обновлений для любого продукта (особенно с Microsoft, они исправляют ошибки в этих ручных пушках). Это, конечно, не повредит. – Hardryv

ответ

0

Проверьте настройки и свойства проекта. Если они хорошо выглядят, попробуйте очистить решение и выполнить перестройку. Перезагрузите файлы из исходного элемента управления. Если все это не удается, попробуйте перестроить проект с нуля в другом экземпляре Visual Studio, а затем скопируйте в/ассоциировать файлы с вашим новым проектом.

VS - лучший инструмент для редактирования исходного текста, который я знаю, но все еще не безупречен.

0

Поскольку вы можете создавать Release, я не думаю, что установка патча была бы полезна.

Этот проект создан вами или является частью более широкого проекта? Причина, по которой нужно спросить, - это более широкий проект, который, как правило, использует листы свойств для настройки параметров. С какими библиотеками вы связываетесь? Возможно, у вас есть отладочная версия любой библиотеки/dll, которая вызывает проблемы.

Запустите программу из среды IDE, если у вас есть какие-либо проблемы, связанные с пути (например, неправильная загрузка dll и т. Д.), Которые могут быть проверены. Как правило, начиная с IDE всегда будет работать, но из командной оболочки могут возникнуть некоторые проблемы с пути.

+0

зависимый ходок говорит, что мой debug exe отсутствует в следующих DLL: msvcp80D.dll msvcr80D.dll IESHIMS.DLL WER.DLL Но я не знаю, как получить эти DLL – user240709

1

Загрузите и установите Распространяемый пакет Microsoft Visual C++ 2008.

можно скачать здесь: http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en

+1

Также проверьте, какой значок вы видите в Walker Dependency рядом с отсутствующей dll filename, если это с песочными часами, тогда игнорируйте эту DLL, она загружается по требованию, что не является вашим делом. – AndreiM

1

Вы пытаетесь запустить отладку построить на компьютере с Visual Studio, или на другую машину?

Если вы связали свою программу с версией DLL версии C++ (MSVCP80D.DLL и т. Д.), Тогда файлы времени отладки будут недоступны на другой машине. Они не включены в распространяемый Visual C++ 2005, и они (отладочные DLL) фактически не распространяются, в соответствии с лицензией Visual Studio.

Если это тот же компьютер, что и Visual Studio, вам, вероятно, потребуется отремонтировать установку Visual Studio. Если это другая машина, вы (не имея возможности прыгать через некоторые обручи) не повезло.

1

Причина в том, что вы динамически связаны с библиотеками времени выполнения Microsoft. Если вы затем перенесли свою dll на другую машину и попытались ее запустить, тогда, если библиотеки времени выполнения будут там (как правило, из-за того, что установлена ​​ранее установленная программа), ваша программа будет запущена. Если они не существуют, то установка распространяемого пакета Visual C++ 2008 (как это связано с ответом Андрея) будет делать трюк.

Для сборки отладки нет распространяемого пакета, и поэтому (в общем случае) он будет работать только на машине с библиотеками отладки, которые являются частью инструментов разработчика.Есть два варианта: либо создать простой пакет установщика, который подберет эти зависимости и установит их в целевой системе, либо изменит конфигурации вашего проекта, чтобы заставить их статически связываться с библиотеками времени выполнения (т. Е. Использовать «Debug Multithreaded», Debug Multithreaded Dll '). Если вы статически связаны, вам вообще не понадобятся библиотеки времени выполнения.

Смежные вопросы