У меня есть куча консольных хост-приложений, на которых размещаются службы WCF. Я вызываю файл .bat в качестве шага предварительной сборки, чтобы убить все запущенные экземпляры хоста, чтобы я не получал ошибки регистрации канала WCF (вручную убивая консольные хосты каждый раз, прежде чем сборка является королевской болью).TaskKill для уничтожения консольного приложения .NET
Файл .bat, который я создал, содержит следующее.
taskkill /T /F /FI "imagename eq Host.vshost.exe"
taskkill /T /F /FI "imagename eq Host.exe"
exit /B 0
Это убивает оба процесса. Я вижу в taskmanager, что Host.exe ушел, и у Host.vshost.exe есть новый PID, но окно консоли все еще работает. Кажется, что cmd.exe является сам процесс с консолью, так что я тогда изменил .bat файл с этим ..
taskkill /T /F /FI "imagename eq cmd.exe"
Но это убивает все cmd.exe окна.
Как я могу настроить это, чтобы я мог ориентироваться только на конкретное окно cmd конкретного консольного приложения или есть ли другая команда, которую я должен использовать?
Если вы публикуете (пакетный) код или XML, ** пожалуйста ** выделите эти строки в текстовом редакторе и нажмите кнопку «код» (101 010) на панели инструментов редактора, чтобы красиво отформатировать и выделить синтаксис! –