Как заставить Visual Studio закрыть запущенный процесс перед выполнением сборки? - PullRequest
9 голосов
/ 30 сентября 2011

Я создаю приложение WinForms с использованием Visual Studio 2010. Каждый раз, когда я делаю изменения в коде, мне нужно запустить приложение и проверить, как оно работает. Проблема в том, что я делаю это довольно часто, и как только я забываю закрыть предыдущий экземпляр приложения, компилятор выдает ошибку «Процесс не может получить доступ к файлу bin \ Debug ....», и это действительно меня раздражает. Кто-нибудь знает, можно ли заставить Visual Studio закрыть запущенный экземпляр перед выполнением сборки.

Большое спасибо.

Ответы [ 4 ]

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

Добавьте к проектам событие перед сборкой (на основе принятого ответа ):

taskkill /f /fi "imagename eq $(TargetFileName)"

Команда, использованная в другом ответе , может привести к ошибке в случаях, когда процесс не запущен.

В этом варианте используется фильтр (/fi), который не «отказывает», даже если найдено 0 совпадений.

6 голосов
/ 15 апреля 2014

В дополнение к ответу Мортена:

Используйте taskkill , а затем игнорируйте ошибки .

taskkill /F /IM "$(TargetFileName)"
exit 0
5 голосов
/ 30 сентября 2011

Идея: сделать предварительный шаг для исполняемого проекта, который использует Taskkill для завершения процесса.Узнайте больше о Taskkill здесь: http://technet.microsoft.com/en-us/library/bb491009.aspx

1 голос
/ 21 марта 2017

Следующий код из другого ответа stackexchange работал для меня.

wmic process, где name = 'chromedriver.exe' delete

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