Это может показаться болью, но после внесения каких-либо значительных изменений обычно рекомендуется очистить решение и перестроить проект.Вы можете подумать, что перекомпиляция одного модуля перевода будет работать, а в некоторых случаях это может быть правдой, но если другие объектные файлы полагаются на только что обновленный модуль перевода, их также необходимо перекомпилировать, иначе Visual Studio будет использовать более старые объектные файлы, которыеранее были построены.
Что касается CTRL + F5 , находитесь ли вы в режиме debug
или release
, просто говорит Visual Studio, что вы хотите запустить без отладки, поскольку в нем нет ничегоделать с компиляцией и сборкой проекта или решения.Вы уверены, что не путаете CTRL + F5 с CTRL + F7 , как пользователь SoronelHateir
упомянул в комментариях?После внесения любых изменений в исходный код рекомендуется сначала перекомпилировать этот отдельный файл, чтобы убедиться в отсутствии ошибок компиляции.Тогда хорошо перестроить этот текущий проект в рамках решения.
С другой стороны, если ваше решение имеет несколько проектов, например: один проект является статически связанной библиотекой, а другой - вашим основным исполняемым проектом, а внесенные вами изменения находятся в вашей библиотеке и в зависимости от того, какосновной проект зависит от библиотечного проекта, который вам, вероятно, придется, по всей вероятности, хотя бы пересобрать библиотечный проект, а в некоторых случаях вам даже может понадобиться перестроить основной загрузочный проект.В большинстве случаев достаточно просто перестроить статически связанную библиотеку;редко, чтобы основная программа, которая связывает библиотеку, должна была быть перестроена, чтобы увидеть новые изменения, но есть некоторые редкие случаи, когда оба должны быть перестроены.
Я скажу это снова;да, это может показаться болезненным, когда приходится делать чистое решение и завершать восстановление, но через некоторое время это самый безопасный путь для проверки того, что все объектные файлы обновлены.То, что вы видите в своем собственном решении, является побочным эффектом запуска программы с обновленным кодом, но выходные данные совпадают с результатами более старых объектных файлов.Это является результатом того, что среда IDE использует устаревшие или устаревшие объектные файлы, которые уже существуют, поскольку вы не перестраивали решение.Очистка решения удаляет все старые объектные файлы, а также любые промежуточные файлы, которые используются для компиляции исходного кода в единицы преобразования для создания соответствующих объектных файлов.
В среде IDE есть настройки, которые другие пользователи упоминали выше, например, пользователь: Bo Persson
заявил из своего ответа, что вы можете изменить поведение Visual Studio для перекомпиляции, перестройки проекта или решения.