2

J'essaie de publier et de déployer automatiquement mon application Web .Net 4 automatiquement à partir d'un script de build qui sera exécuté par notre serveur d'intégration continue. J'utilise la nouvelle cible _WPPCopyWebApplication de VS2010 pour effectuer la publication, cependant elle semble réinitialiser le répertoire de travail actuel du projet msbuild à c: \ ceci provoque l'échec de mes étapes de préconstructions car elles ont des chemins relatifs vers certains outils externes. La tâche que je suis en cours d'exécution de notre fichier master.build est la suivante:Publier une application Web à partir de MSBuild Script à l'aide des cibles VS2010 réinitialise le répertoire de travail

<Target Name="PublishWeb"> 
    <MSBuild 
     Projects="$(ProjectPath)" 
     Targets="ResolveReferences;_WPPCopyWebApplication" 
     Properties="WebProjectOutputDir=$(DeployPath);OutDir=$(TempOutputFolder)$(WebOutputFolder)\;OutputPath=$(ProjectPath)\bin\Debug;" /> 
</Target>  

Cela ne se produit pas lorsque vous utilisez l'_CopyWebApplication hérité. Est-ce que quelqu'un a une idée de la façon de résoudre ce problème?

Répondre

0

Deux possibilités viennent à l'esprit:

  1. Utilisez la tâche Exec appeler msbuild.exe, et fournir un répertoire de travail spécifique.
  2. Vos étapes de préconfiguration sont évaluées par MSBuild et peuvent faire référence à n'importe quelle propriété MSBuild. Par conséquent, faites des chemins relatifs à quelque chose de spécifique, par exemple $(MSBuildProjectDirectory) ou $(MSBuildThisFileDirectory), plutôt que par rapport au répertoire actuel.