приходится пересобирать в VS 2010 после каждой модификации - PullRequest
6 голосов
/ 05 марта 2012

Я работаю в Visual Studio 2010, и я могу хорошо написать и написать код, и IntelliSense даже хорошо работает, но когда я запускаю компилятор после изменения кода, изменения не всегда происходят. это происходит в консольных приложениях c ++ Win32, приложениях c ++ Windows и консольных приложениях c ++ CLR. Это даже случалось и в C # XNA.

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

Единственный обходной путь, который я нашел, - это идти и делать полную перестройку после каждой модификации, но в этом нет необходимости, поскольку я не добавляю заголовки или не изменяю порядок компиляции. иногда он игнорирует изменение одного символа, изменяемого в cout.

Резюме:

  • компилятор игнорирует изменения, сделанные со времени последней сборки
  • компилятор игнорирует точки останова в измененных файлах
  • необходимо выполнить полное перестроение, чтобы внести изменения, и точки останова потребуются.

есть ли у кого-нибудь какие-либо мысли по этому поводу?

edit: похоже, что изменение Tools> options> "Projects and Solutions"> "Build and Run"> "On Run, когда проекты устарели" на "Prompt to build" решает проблему. хотя раздражает, когда каждый раз спрашивают, это менее раздражает, чем необходимость вручную перестраивать. необходимо выполнить дальнейшие итерации, чтобы увидеть, не является ли это поверхностным.

edit2: после продолжения итерации по текущему проекту выясняется, что это изменение не решает проблему, а касается только основного файла, а любые вложенные файлы по-прежнему нуждаются в полной перестройке для внесения изменений, даже небольших.

Ответы [ 2 ]

3 голосов
/ 05 марта 2012

Если это происходит во всех проектах, вероятно, первое исправление, упомянутое в этом ответе

0 голосов
/ 25 июня 2015

После выполнения:

Инструменты >> Параметры >> Проект и решение >> Построение и запуск >> Убедитесь, что для параметра «При запуске, когда проекты устарели» установлено значение «Всегда строить» или «Запрос на сборку «Сборка >> Configuration Manager >> Убедитесь, что« Сборка »отмечена для всех проектов, которые вы хотите построить для каждой конфигурации, которую вы хотите использовать.

Снимите флажок« Только запуск сборки »проекты и зависимости от Run »сделали свое дело для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...