2010-05-15 128 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

相关问题