Остановка / запуск службы Windows и создание решения - PullRequest
1 голос
/ 22 января 2010

Мне бы хотелось иметь скрипт, который останавливает определенную службу Windows, создает или перестраивает решение и запускает службу после завершения процесса сборки.

Должен ли я использовать Msbuild для этого? Или есть другой способ?

Ответы [ 4 ]

7 голосов
/ 22 января 2010

MSBuild - ваш ответ. Управление службами может быть легко осуществлено с помощью задач сообщества, в частности задачи контроллера служб.

http://msbuildtasks.tigris.org/

3 голосов
/ 22 января 2010

Вы можете использовать командный файл , который остановит службу, создаст решение и запустит службу:

net stop "service name"
<path to msbuild>\msbuild.exe <path to solution file>
net start "service name"

Узнайте, как запускать / останавливать службы из командной строки, а справочную информацию по командной строке msbuild .

.

Другой вариант, как уже упоминалось, заключается в использовании задач сообщества MSBuild . Их много - ServiceController - именно тот, который вам нужен.

1 голос
/ 22 января 2010

Служба, которую вы останавливаете, - это тот же исполняемый файл, который вы строите в решении? Если так, то почему бы не сделать динамический код в сервисе?

0 голосов
/ 12 сентября 2011

MS сборка:

<PropertyGroup>
  <ServiceName>Service</ServiceName>
</PropertyGroup>
<Target Name="PostBuild">
  <Exec Command="net stop $(ServiceName)" ContinueOnError="true" Condition="$(ServiceName)!=''" />
  [. rest of the logic here .]
  <Exec Command="net start $(ServiceName)" ContinueOnError="true" Condition="$(ServiceName)!=''" />
</Target>
...