Frage

Ich habe jetzt ein wenig SVN wurde mit Weile. vor kurzem auf einem Projekt, das ich TFS verwende. Mit der baut ich anfügen möchte / aktualisieren, um die Build-Versionsnummer auf dem Projekt ausgegeben. Ich tue dies auf der Masterpage, so dass sie gut sichtbar auf der Anwendung ist. Da die Anwendung auf mehreren Maschinen ausgeführt werden kann, ist es praktisch, Informationen darüber, welche verison ausgeführt werden.

Ich achive dies in SVN Welt wie:

  <!-- Import of the MSBuildCommunityTask targets -->
    <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
    <!-- to AssemblyInfo to include svn revision number -->
    <Target Name="BeforeBuild">
      <SvnVersion LocalPath="$(MSBuildProjectDirectory)" ToolPath="$(ProgramFiles)\CollabNet Subversion Client">
        <Output TaskParameter="Revision" PropertyName="Revision" />
      </SvnVersion>
      <Time>
        <Output TaskParameter="Year" PropertyName="Year" />
        <Output TaskParameter="Month" PropertyName="Month" />
        <Output TaskParameter="Day" PropertyName="Day" />
      </Time>
      <FileUpdate Files="MasterPage.master" Regex="svn revision: (\d+)\.(\d+)\.(\d+)\.(\d+)" ReplacementText="svn revision: $(Year).$(Month).$(Day).$(Revision)" />
    </Target>

Wie Sie oben die „Before“ Aufgabe sehen aktualisiert die masterPage.master Datei mit dem YYYY.MM.DD.SVNVERSION Stempel.

Wie kann ich das als Quelle Steuerung mit TFS achive. Wie kann ich die TFS-Build-Nummer bekommen?

War es hilfreich?

Lösung

Sie mittleres Team Build Unter der Annahme, die $ (Buildnumber) Eigenschaft enthält die aktuelle Build-Nummer.

Siehe http: //blogs.msdn.com/aaronhallberg/archive/2008/02/12/team-build-2008-property-reference.aspx für eine vollständige Referenz der verfügbaren Eigenschaften.

Wenn Sie nur MSBuild ausgeführt wird, ich glaube es nicht erzeugt / gilt eine Gesamt Build-Nummer (jedes Projekt wird eine individuelle, möglicherweise automatisch erhöht, die Versionsnummer in der AssemblyInfo.cs [standardmäßig] file) . Sie können dynamisch diese Versionsnummer für eine bestimmte bekommen Montage der System.Reflection.Assembly Klasse zur Laufzeit verwendet wird.


Update

Wie von TFS 2010, der Variable ‚Buildnumber‘ ist nicht mehr automatisch auf den MSBuild Prozess von TFS übergeben. TFS 2010 verwendet jetzt Windows Workflow als interne Build-Engine, so dass, wenn Sie die Build-Nummer wollen, müssen Sie Ihre Build-Definition ändern müssen, um es zu schließen, wie in dieser MSDN-Artikel .

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