MSBuild никогда не заканчивается - PullRequest
1 голос
/ 15 мая 2010
<Target Name="RunWebServer">
<Exec Command='$(WebServer) /port:3811 /path:$(Path)' />        
</Target>

Указанная выше команда фактически переводится в приведенную ниже:

"C:\Program Files (x86)\Common Files\microsoft shared\DevServer\9.0"\WebDev.WebServer /port:3811 /path:"D:\PROJEKTI\eMedicine\eMedicine\eMedicine"

Но когда я запускаю build.xml

D:\PROJEKTI\eMedicine\eMedicine>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MsBuild.exe Build.xml /target:RunWebServer
Microsoft (R) Build Engine Version 3.5.30729.4926
[Microsoft .NET Framework, Version 2.0.50727.4927]
Copyright (C) Microsoft Corporation 2007. All rights reserved.

Build started 15.5.2010 14:06:36.

скрипт никогда не заканчивается. Как я могу запустить его, а затем автоматически остановить и подготовить к следующему заданию?

Ответы [ 2 ]

1 голос
/ 16 мая 2010

Пожалуйста, проверьте AsyncExec,

http://blog.eleutian.com/2007/03/01/AsyncExecMsBuildTask.aspx

Это должно решить эту проблему.

1 голос
/ 15 мая 2010

Вам нужно немного изменить его, чтобы не ждать, пока веб-сервер не умрет, как это

<Exec Command='start /B $(WebServer) /port:3811 /path:$(Path)' />   

Я не совсем уверен, почему вы запускаете веб-сервер как часть сборки, но по умолчанию будет работать MSBuild, ожидая, когда WebDev.WebServer.exe завершит работу / закроется. Вы можете прочитать больше о том, как START работает здесь и здесь . По сути, он запускает его как отдельный процесс, а не тот, который его ждет.

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