Question

J'utilise SVN pour un peu de temps maintenant. récemment sur un projet que je suis en utilisant TFS. Avec le je builds aime ajouter / mettre à jour le numéro de version de version sur la sortie du projet. Je le fais sur le masterpage afin qu'il soit clairement visible sur l'application. Étant donné que l'application pourrait être en cours d'exécution sur plusieurs machines, il est à portée de main des informations sur ce qui verison sont en cours d'exécution.

J'ACHIVE ce dans le monde SVN comme:

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

Comme vous pouvez le voir ci-dessus la tâche « BeforeBuild » met à jour le fichier masterPage.master avec le timbre YYYY.MM.DD.SVNVERSION.

Comment puis-je cela avec TFS achive comme le contrôle de code source. Comment puis-je obtenir le numéro de version TFS?

Était-ce utile?

La solution

En supposant que vous voulez dire Team Build, la propriété $ (BuildNumber) contient le numéro de version actuelle.

Voir http: //blogs.msdn.com/aaronhallberg/archive/2008/02/12/team-build-2008-property-reference.aspx pour une référence complète des propriétés disponibles.

Si vous êtes juste en cours d'exécution MSBuild, je ne crois pas qu'il génère / applique un nombre global de construction (chaque projet aura un individu, peut-être incrémentée automatiquement, le numéro de version dans ses AssemblyInfo.cs [par défaut] fichier) . Vous pouvez obtenir dynamiquement ce numéro de version pour un ensemble spécifique en utilisant la classe System.Reflection.Assembly lors de l'exécution.


Mise à jour

de TFS 2010, la variable « BuildNumber » n'est plus automatiquement transmis au processus MSBuild par TFS. TFS 2010 utilise désormais Windows Workflow comme moteur de construction interne, donc si vous voulez que le numéro de version, vous devrez modifier votre définition de génération pour l'inclure, comme indiqué dans cet article MSDN .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top