В VS2008 существуют следующие опции, которые можно установить для изменения поведения (не уверенный, если существуют подобные опции в других версиях Visual Studio):
Projects and Solutions/Build and Run
- On Run, when projects are out of date:
Always build
Never build
Prompt to build <== default setting
- On Run, when build or deployment errors occur:
Launch old version
Do not launch
Prompt to launch <== default setting
Набор вышеупомянутые опции к "Всегда сборка" и "Не запускается", и Вы получаете то, что я рассматриваю большим ueseful поведением. Хотя иногда, когда я пытаюсь запустить отладчик и существует ошибка сборки, мне требуются несколько секунд для понимания, почему я не добираюсь до точки останова, я думал, что буду совершать нападки (могло бы быть хорошо заставить своего рода тип 'тостера' сообщения выбивать меня из моего оцепенения).
Это может быть полезно, когда Вы отлаживаете веб-приложение, и одна из страниц не компилирует, потому что некоторый другой разработчик зарегистрировался в плохой версии, или Вы не можете проверить последний код по любой причине, но Вы знаете, что не поразите ту страницу. Я делаю все это времена.
При использовании Экспресса VS 2008 существует поле, чтобы никогда показать это диалоговое окно снова. Просто попробованный это и это устранят диалоговое окно, оставляя только сборку отказавшим сообщением в нижней левой части экрана.
Что касается того, как часто, я поразил его, довольно часто. При срыве, поскольку иногда я изменил код, завершенный при тестировании вещей, и получу что-то абсолютно несвязанное с задачей под рукой. Не уверенный, когда Microsoft фигурировала, это будет полезно.
Интересный. Я на самом деле никогда не видел, что диалоговое окно - знаю, что существует опция позволить/запретить выполнить предыдущую успешную сборку, поэтому возможно, это показывает диалоговое окно сначала. Можно изучить отключение его, если Вы не будете использовать его.
Одна причина это может быть полезно, однако, то, если Вы хотите напомнить себе, чем ошибка была то, что Вы продолжали работать. Не все вещи могут быть починены в редактировать-и-продолжать, и Вам, возможно, понадобился бы бег трусцой памяти.
Это также полезно на веб-приложениях, потому что это вынудит серверы Кассини запуститься. Вам нужно это, если Вы работаете над одним проектом в решении, которое не скомпилирует, и необходимо обновить веб-сервисы в другом проекте.
Это поведение можно определить в разделе Инструменты-> Параметры-> Проекты и решения-> Построить и запустить-> При запуске, когда возникают ошибки сборки или развертывания
, здесь вы можете выбрать: - Запустить старую версию - не запускать - Попросить запустить
Он работает на предпочтение выбора соответствующей dll во время выполнения. Исполняемые файлы не генерируются, если есть какая-либо встроенная ошибка, поэтому компилятор ищет исполняемый файл, который существует, который, очевидно, является последним успешно скомпилированным.