Domanda

Sono stato con SVN per un po 'ora. di recente su un progetto che sto usando TFS. Con le generazioni mi piace aggiungere / aggiornare il numero di versione della build sull'uscita del progetto. Lo faccio sulla masterpage in modo che sia ben visibile sulla domanda. Dal momento che l'applicazione potrebbe essere in esecuzione su più macchine, si tratta di informazioni a portata di mano su cui sono in esecuzione verison.

I raggiungere questo obiettivo in SVN mondo come:

  <!-- 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>

Come si può vedere al di sopra del compito "BeforeBuild" aggiorna il file masterPage.master con il timbro YYYY.MM.DD.SVNVERSION.

Come posso raggiungere questo obiettivo con TFS come il controllo del codice sorgente. Come faccio ad avere il numero di build TFS?

È stato utile?

Soluzione

Supponendo che vuoi dire Team Build, il $ (BuildNumber) proprietà contiene il numero di build corrente.

http: //blogs.msdn.com/aaronhallberg/archive/2008/02/12/team-build-2008-property-reference.aspx per un riferimento completo delle proprietà disponibili.

Se si sta solo eseguendo MSBuild, non credo che genera / si applica un numero complessivo build (ogni progetto avrà un individuo, possibilmente auto-incrementato, il numero di versione nelle sue AssemblyInfo.cs [default] file) . È possibile ottenere in modo dinamico il numero di versione di un assembly specifico utilizzando la classe System.Reflection.Assembly in fase di esecuzione.


Aggiornamento

A partire dal TFS 2010, la variabile 'BuildNumber' non è più automaticamente passato al processo MSBuild da TFS. TFS 2010 ora utilizza Windows Workflow come motore di build interno, quindi se si desidera che il numero di build, si dovrà modificare la definizione di compilazione per includerlo, come indicato nel questo articolo MSDN .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top