Visual Studio 2010 не собирается перед запуском при изменении кода - PullRequest
125 голосов
/ 15 апреля 2010

Я годами использовал F5 (Start Debugging) для создания кода (если он устарел), а затем для отладки. Это работало и на VS 2010, однако сегодня он просто начинает отладку без сборки. Скажем, я делаю очистку проекта, а затем нажимаю F5 вместо того, чтобы строить его, чтобы он мог его запустить, выдает сообщение об ошибке, в котором говорится, что exe не существует для запуска. Как мне сделать так, чтобы он сначала собирался? Что могло измениться?

Ответы [ 11 ]

165 голосов
/ 15 апреля 2010

Инструменты + Опции, Проекты и Решения, Сборка и запуск.«При запуске, когда проекты устарели» = Всегда строить.Тот, что ниже = Не запускать.

118 голосов
/ 26 января 2011

У меня была эта проблема, и это оказался Менеджер конфигурации. Недавно я перешел с Debug | Mixed CPU на Debug | Любой CPU, и проект не был настроен на сборку с этой конфигурацией

21 голосов
/ 26 января 2011

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

16 голосов
/ 22 марта 2011

Помимо вышеперечисленного, также убедитесь, что «Только компоновка запускаемых проектов и зависимостей при запуске» не отмечена (в Сервис -> Параметры -> Проекты и решения -> Построить и запустить)

9 голосов
/ 25 марта 2011

У меня тоже была эта проблема. Я проверил все предложенное безрезультатно. Оказывается, мои часы на моем компьютере были настроены примерно на 12 часов, и я сохранял данные на сетевой диск. Временные метки файлов были не в порядке, и VS не думал, что нужно было строить мой проект, потому что файлы были суперсовременными.

3 голосов
/ 01 июля 2012

В течение некоторого времени меня всегда смущало, почему мой ноутбук (двухъядерный 2 ГГц, оперативная память 2 ГБ) компилировал мой сайт быстрее, чем мой рабочий стол (четырехъядерный процессор 3 ГГц с оперативной памятью 16 ГБ). У обоих есть SSD диски. Параметры сборки настроены правильно (то же самое, число ядер = параллельные сборки), но ноутбук запускает сайт через несколько секунд, а декстоп запускает сайт примерно через 30 секунд.

Найдена дополнительная опция в разделе «Страницы свойств» сайта, в разделе «Сборка» для ноутбука было установлено «Нет сборки», а для рабочего стола - «Сборка и запуск». Нашел только после того, как сайт запустился на ноутбуке без проверки на ошибку компилятора.

Могу помочь кому-нибудь в будущем, поэтому подумал, что я добавлю его в этот пост

2 голосов
/ 14 мая 2015

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

1 голос
/ 23 января 2018

Инструмент -> Параметры -> Проект и решения.

  1. Установить как Всегда сборка / Запрос на сборку для «При запуске, проект устарел»
  2. Снимите флажок «Только создавать запускаемые проекты и зависимости при запуске»
1 голос
/ 30 сентября 2016

Для меня это происходило из-за настроек конфигурации сборки. В моем решении для Visual Studio есть несколько проектов, представляющих собой смесь проектов на C # и C ++. Теперь я понял, что по какой-то странной причине Visual Studio предпочитает не создавать проекты C ++ по умолчанию, что видно по настройкам конфигурации сборки. Я заметил это сразу после добавления нового проекта C ++ в решение . Я не знаю, почему VS не придерживается того же подхода при добавлении нового проекта C # в решение.

Щелкните правой кнопкой мыши файл решения в обозревателе решений -> выберите Свойства в контекстном меню -> Выберите узел Свойства конфигурации на левой панели -> Выберите узел конфигурации . Показывает список всех проектов в решении. Первый проект LearnDs - это проект C ++. Обратите внимание на флажок в столбце сборки в первой строке. Это не проверено. По этой причине Visual Studio 2010 не собирала мой проект C ++ (после нажатия клавиши F5), который содержал некоторые изменения с момента его последней успешной сборки.

enter image description here

В тот момент, когда я установил соответствующий флажок и сохранил настройки конфигурации сборки для решения, все заработало. Теперь я вижу подсказку ниже, когда я нажимаю F5, так как VS может обнаружить, что есть некоторые новые изменения с момента его последней сборки. Это вызвано тем, что мои настройки в Меню инструментов -> Подменю «Параметры» -> Узел «Проекты и решения» -> Узел «Построить и запустить» -> «При запуске, когда проекты устарели», установлено на Prompt to build , Если вам не нравится это приглашение, установите его на Always build.

enter image description here

1 голос
/ 29 февраля 2016

Я пробовал предыдущие решения со смешанными результатами. НО это, кажется, работает для меня всякий раз, когда я иду в Build-> Clean Solution

Но это раздражает необходимость делать это каждый раз.

...