Условная группа свойств в TFSBuild.proj - PullRequest
0 голосов
/ 16 июня 2010

Я пытаюсь установить PropertyGroup в зависимости от значения другой PropertyGroup:

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

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

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

Позже у меня есть эта цель

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

Эта цель не выполняется, потому что $(DeploymentServer оценивается как ''. Однако, если я устанавливаю свойство безоговорочно:

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

, оно работает - цель выполняется.

Свойство $ (BuildDefinitionName) в порядке, потому что яиспользовать его в другом месте в качестве имени файла .testconfig.

Как заставить мою цель выполняться на основе условно определенного свойства?

1 Ответ

1 голос
/ 16 июня 2010

Я получил эту работу, поместив PropertyGroup в мою цель:

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