2010-06-16 5 views
0

Je suis en train de définir une PropertyGroup en fonction de la valeur d'un autre PropertyGroup:PropertyGroup conditionnelle dans TFSBuild.proj

<PropertyGroup Condition="'$(BuildDefinitionName)'=='Dev1'"> 
    <DeploymentServer>DEVSERVER</DeploymentServer> 
</PropertyGroup> 

<PropertyGroup Condition="'$(BuildDefinitionName)'=='Main'"> 
    <DeploymentServer>MAINSERVER</DeploymentServer> 
</PropertyGroup> 

<PropertyGroup Condition="'$(BuildDefinitionName)'=='Release'"> 
    <DeploymentServer>RELEASESERVER</DeploymentServer> 
</PropertyGroup> 

Plus tard, j'ai cet objectif

<Target Name="AfterEndToEndIteration" Condition="'$(DeploymentServer)'!=''"> 
</Target> 

Cet objectif n'est pas en cours d'exécution parce que $ (DeploymentServer évalue à '' Cependant, si je mets la propriété sans conditions.

<PropertyGroup> 
    <DeploymentServer>SCHVMOMNET3</DeploymentServer> 
</PropertyGroup> 

ça marche - la cible est exécutée.

La propriété $ (BuildDefinitionName) est OK car je l'utilise ailleurs comme nom de fichier .testconfig.

Comment exécuter ma cible en fonction d'une propriété définie de manière conditionnelle?

Répondre

1

J'ai eu ce travail en mettant l'PropertyGroup dans mon objectif:

<Target Name="AfterEndToEndIteration"> 
    <PropertyGroup> 
     <DeploymentServer Condition="'$(BuildDefinitionName)'=='Dev'">DEVSERVER</DeploymentServer> 
     <DeploymentServer Condition="'$(BuildDefinitionName)'=='Main'">MAINSERVER</DeploymentServer> 
     <DeploymentServer Condition="'$(BuildDefinitionName)'=='Release'">RELEASESERVER</DeploymentServer> 
    </PropertyGroup> 
</Target>