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

La commande ci-dessus se traduit en fait à celle donnée ci-dessous:MSBuild ne se termine jamais

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

Mais quand je commence 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. 

le script ne se termine jamais. Comment puis-je l'exécuter puis l'arrêter automatiquement et ainsi préparer la prochaine tâche?

Répondre

1

Vous devez modifier légèrement pour ne pas attendre sur le serveur Web pour mourir, comme celui-ci

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

Je ne sais pas exactement pourquoi vous commencez un serveur Web dans le cadre de la construction, mais le comportement par défaut va être MSBuild en attente du WebDev.WebServer.exe pour quitter/fermer. Vous pouvez en savoir plus sur la façon dont START fonctionne here et here. Il s'agit essentiellement d'un processus distinct, et non d'un processus qui l'attend.

+0

Nick Craver thx pour votre lien et de l'aide – senzacionale

+0

maintenant je reçois commutateur Invalid: Build a commencé 15.5.2010 14:45:07. Projet "D: \ PROJEKTI \ eMedicine \ eMedicine \ Build.xml" sur le noeud 0 (cible (s) RunWebServer). Interrupteur non valide - "/ port: 3811". Terminé Projet de construction "D: \ PROJEKTI \ eMedicine \ eMedicine \ Build.xml" (cible (s) RunWebServer). – senzacionale

+0

@senzacionale - Il peut s'agir d'une erreur de citation dans vos chemins (en raison de paliers), essayez ceci ' ' –

Questions connexes