Как отменить сборку, которая выполняется в Visual Studio?

225

Почти бессознательно я ударил макрос сборки клавиатуры, который строит все мое решение. Это может произойти так же, как я заметил изменение кода. Сборка доминирует на моем компьютере, и я в основном должен ждать, пока она не закончится. 10 секунд!

Как я могу отменить сборку?

Valamas
источник
24
К счастью, моя сборка занимает больше минуты. В любом случае, в меню «Сборка» есть пункт меню [отмена], который становится видимым при запуске сборки.
dasblinkenlight
1
Я попытался взглянуть на этот пункт меню, просто не реалистично, потому что редактор зависает. Спасибо, что указал на это, хотя.
Валамас
мой занимает как 3 минуты :)
внутри
1
ой, ну, видите, я добавил ответ на свой вопрос.
Валамас
Дизайн пользовательского интерфейса Visual Studio должен быть таким великолепным, чтобы можно было задать такой вопрос ...
Ники,

Ответы:

421

Вы можете нажать Ctrl+ Breakна клавиатуре, чтобы отменить / остановить сборку, которая в данный момент выполняется.

Крис Субаджио
источник
128
Ах! Использование для клавиши Break!
dav_i
1
@ Станислав: Будьте терпеливы. Сборка не будет прервана немедленно.
Макс Бейкирх
59
Клавиша разрыва также может быть помечена как "пауза"
красители
13
Если на вашей клавиатуре нет клавиши Pause / Break, вы можете перейти в Tools -> Options -> Keyboard и установить дополнительное сопоставление для команды Build.Cancel.
Шон Коломбо,
2
Я люблю сочетания клавиш так же, как и следующий разработчик, но IDE должен быть визуальным интерфейсом. Предоставьте кнопку пользовательского интерфейса с всплывающей подсказкой, определяющей сочетание клавиш. Разработчику может потребоваться много времени, прежде чем он снова остановит сборку и забудет сочетание клавиш. Некоторые разработчики переключаются между мирами Java / .NET каждую пару лет. @igbogtiz сказал, что это лучше, чем я.
Skychan
90

Зайдите в меню сборки Visual Studio -> отменить сборку, просто :)

darmis
источник
2
Вам нужно включить Инструменты -> Настройки -> Настройки эксперта, чтобы это работало.
CJ Деннис
1
Чтобы ехать быстро, используйтеAlt + b + a
Warlike Chimpanzee
@profimedica Я думаю, что большинство людей хотели бы использовать клавиатуру, возможно, Alt + b + a, также работает.
Дармис,
@darmis, ответ помеченный (Ctrl + Break) у меня не сработал. Я публиковал в Azure, сборка dotnet завершена, но в окне сборки продолжал отображаться вывод процесса развертывания. Я попробую Alt + b + a и дам вам знать
profimedica
1
Легко, кроме того, что это не похоже на работу. Я застрял в подвешенном состоянии, так как сборка остановилась, но, похоже, она не остановилась.
wcochran
18

Это грубо, но работает хорошо. Visual Studio в одном из моих проектов (я включаю построение представления MVC для отлова ошибок разметки), ну, проект перестает отвечать при сборке. Я не могу отменить сборку с помощью сочетаний клавиш.

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

@echo off
echo KILL BILLd
for /L %%i in (1,1,10) do (
   Taskkill /IM aspnet_compiler.exe /F
   timeout 1
)

Я также сделал запуск командного файла минимизированным. Сборка останавливается, и Visual Studio просто выдает в окне ошибки сообщение об ошибке при сборке.

Valamas - AUS
источник
1
добавьте MSBuild.exe для приложений, не являющихся asp_net. Xaml сильно блокирует анализ живого кода
Ник Тернер,
6

Ctrl+ Breakработает, но только если окно сборки активно. Кроме того, прерывание сборки иногда приводит к повреждению .objфайла, который необходимо будет удалить вручную, чтобы продолжить сборку.

Марк Холтен
источник
1
Примечание. В случае VS2017 ярлык работает независимо от того, какое окно активно.
Алекс
3

Visual Studio 2015 Профессиональное обновление 3

Если вы используете Mac, вы можете сделать следующее

Нажмите Build -> Cancel в меню Visual Studio

или

Выберите окно «Активность службы приложений Azure» -> «Отмена», чтобы отменить действие публикации.

Iyyappan Amirthalingam
источник
2

Ctrl + End работает для меня в Visual C ++ 2010 Express.

kgsmith
источник
2

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

О сборке позаботился MSBuild, поэтому я нашел единственный способ завершить свою задачу. После принудительного завершения MSBuild.exe VS выйдет из спящего режима и, наконец, увидит, что сборка отменена, и вы снова сможете работать.

Надеюсь, что это помогает кому-то в такой же ситуации.

Frederik.L
источник
1
Сделал это за 3 секунды до того, как я прочитал это. Я бы просто добавил MSBuild в скрипт сценария убийства выше
Ник Тернер,
Ctrl-Alt-Del, чтобы вызвать Tasks, затем убить процесс VS (единственное, что, кажется, работает)
MC9000
2

Если ничего не помогает, перейдите в диспетчер задач и завершите задачу msbuild в Visual Studio 2017

Адам Сибридж
источник
1

Контекстное меню сборки имеет сборку «Отмена» в Visual Studio 2013.

jacobsgriffith
источник
1

Команда «пауза» была функциональной кнопкой под моей правой клавишей Shift, поэтому приведенная ниже комбинация клавиш сделала свое дело.

Ctrl + Fn + Shift

Исаак Адамс
источник
0

Я использую Visual Studio 2015. Чтобы остановить сборку, вы можете выполнить:

  1. Ctrl + Pause
  2. Ctrl + Break
Thanh
источник
Здесь упоминается конкретная версия визуальной студии, в которой она работает, так что голосование вверх
Макс Кэрролл