2010-05-15 148 views
1
<Target Name="RunWebServer"> 
<Exec Command='$(WebServer) /port:3811 /path:$(Path)' />   
</Target> 

上面的命令實際上轉化爲下面給出的一個:的MSBuild永遠不會結束

"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. 

腳本永遠不會結束。我如何運行它,然後自動停止它,從而爲下一個任務做好準備?

回答

1

您需要修改它稍微不等待Web服務器就不行了,這樣

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

我不知道到底爲什麼你開始一個Web服務器作爲構建的一部分,但默認行爲將是MSBuild等待WebDev.WebServer.exe退出/關閉。你可以閱讀更多關於START如何工作herehere。它基本上是把它作爲一個獨立的過程來開始,而不是等待它。

+0

Nick Craver thx爲您的鏈接和幫助 – senzacionale 2010-05-15 12:44:22

+0

現在我得到無效開關: 開始建造15.5.2010 14:45:07。 節點0(RunWebServer目標)上的項目「D:\ PROJEKTI \ eMedicine \ eMedicine \ Build.xml」。 開關無效 - 「/ port:3811」。 完成構建項目「D:\ PROJEKTI \ eMedicine \ eMedicine \ Build.xml」(RunWebServer目標)。 – senzacionale 2010-05-15 12:47:27

+0

@senzacionale - 它可能是你的路徑中的引用錯誤(由於步伐),試試這個'' – 2010-05-15 13:16:31

相關問題