Frage

Ich habe einen Build, der in TFS Teambuild ausgeführt wird. Ich mag aus, dass auf die MSBuild eine Eigenschaft zu übergeben, die von der TFSBuild.proj gebaut für jedes Projekt ausgeführt wird.

Beispiel:

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>

Wenn die MyWixProjectFile.wixproj die Nachricht aufgebaut wird zeigen, dass die $ (Version) ist leer, jedes Mal, wird gedruckt.

Gibt es irgendwie, dass ich die Projektdatei bekommen die TFSBuild.proj Eigenschaften zu sehen?

Vaccano

War es hilfreich?

Lösung 2

Dies wird über die Eigenschaften Metadaten im SolutionToBuild Tag getan. Zum Beispiel:

  <ItemGroup>
    <SolutionToBuild Include="$(BuildProjectFolderPath)\ChangeThisOne.sln">
      <Targets></Targets>
      <Properties>Change=True</Properties>
    </SolutionToBuild>
    <SolutionToBuild Include="$(BuildProjectFolderPath)\ChangeThisToo.sln">
      <Targets></Targets>
      <Properties>Change=True</Properties>
    </SolutionToBuild>
    <SolutionToBuild Include="$(BuildProjectFolderPath)\DontChangeThis.sln">
      <Targets></Targets>
      <Properties>Don'tChange=False</Properties>
    </SolutionToBuild>
  </ItemGroup>

Andere Tipps

Im kein Experte in Wix, aber ich habe diese finden und haben Sie es versuchen könnte.

Eigenschaften für WiX in MSBuild

Option 1

MSBuild verwenden, um direkt MyWIXProjectFile.wixproj aufrufen und übergeben Version als Eigenschaft

Option 2

Zusammenfassung aus Build von Wix, um seinen eigenen Selft enthaltenen Skript und dann MSBuild verwenden direkt anrufen und alle notwendigen Eigenschaften übermittelt. Ich habe mit voller Implementierung Blog tut dies unter http://blog.newagesolution.net/2008/06/how-to-use-msbuild-and-wix-to-msi.html das könnte für Sie von Interesse sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top