J'ai une version qui s'exécute dans TFS TeamBuild. Je veux passer une propriété à MSBuild qui est exécutée pour chaque projet construit par TFSBuild.proj.Transmettez une valeur de TeamBuild à MSBuild
Exemple:
TFSBuild.proj
<PropertyGroup>
<Version>0.0.0.0</Version>
</PropertyGroup>
<Target Name="BuildNumberOverrideTarget"
DependsOnTargets="AfterInitializeWorkspace">
<!--Code that loads the version from a file (removed).-->
<PropertyGroup>
<!--Save off the version.-->
<Version>$(TxCompleteVersion)</Version>
</PropertyGroup>
MyWIXProjectFile.wixproj
<Target Name="BeforeBuild">
<PropertyGroup>
<!--If Version is defined then use that.
Else just use all zeros to show that this is a developer built version-->
<CurrentVersion Condition="'$(Version)' == ''" >0.0.0.0</CurrentVersion>
<CurrentVersion Condition="'$(Version)' != ''" >$(Version)</CurrentVersion>
</PropertyGroup>
<Message Condition="'$(Version)' == ''"
Text="Version info is empty (i.e. a developer build). Version set to $(CurrentVersion)"/>
</Target>
Lorsque le MyWixProjectFile.wixproj se construit le message indiquant que le $ (Version) est vide est imprimé à chaque fois.
Est-ce que je peux obtenir le fichier projet pour voir les propriétés TFSBuild.proj?
Vaccano
Vous avez vérifié que la version dans TFSBuild.proj n'est pas vide à blanc? –
Oui, j'ai. Il est utilisé dans beaucoup d'autres endroits et il corrige tout le temps. – Vaccano