MSBuild TSF Numéro de Build
J'ai été en utilisant SVN pour un peu de temps maintenant. récemment sur un projet que je suis d'utilisation de TFS. Avec les versions que j'aime à ajouter/mettre à jour le numéro de version sur la sortie du projet. Je le fais sur la masterpage de sorte qu'il est clairement visible sur l'application. Depuis l'application peut s'exécuter sur plusieurs machines, il est à portée de main des informations sur ce qui verison sont en cours d'exécution.
Je arriver à cette SVN monde:
<!-- 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 le "BeforeBuild" mises à jour de tâches de la masterPage.maître de fichier avec le format AAAA.MM.DD.SVNVERSION timbre.
Comment puis-je obtenir cela avec TFS comme la source de contrôle. Comment puis-je obtenir la TSF numéro de build?
OriginalL'auteur minalg | 2009-10-08
Vous devez vous connecter pour publier un commentaire.
En supposant que vous dire de l'Équipe de Construire, de l' $(BuildNumber) propriété contient le numéro de compilation.
Voir http://blogs.msdn.com/aaronhallberg/archive/2008/02/12/team-build-2008-property-reference.aspx pour une référence complète de propriétés disponibles.
Si vous êtes en cours d'exécution juste MSBuild, je ne crois pas qu'il génère/applique un ensemble numéro de build (chaque projet aura d'une personne, éventuellement auto-incrémenté, le numéro de version dans son AssemblyInfo.cs [par défaut] fichier). Vous pouvez dynamiquement obtenir ce numéro de version pour un montage spécifique en utilisant le Système.De la réflexion.Assemblée de classe au moment de l'exécution.
Mise à jour
De TFS 2010, les " BuildNumber variable n'est plus automatiquement transmis à la MSBuild processus de TSF. TFS 2010 utilise maintenant Windows Workflow comme sa version interne du moteur, donc si vous voulez le numéro de build, vous devrez modifier votre définition de build de l'inclure, comme mentionné dans cet article MSDN.
Ah, oui, c'est une bonne solution pour les non-équipe de la construction de construit, je me souviens de ça.
Au moins depuis TFS 2013, vous n'avez pas à modifier la définition de build. Vous pouvez lire la variable d'environnement $(TF_BUILD_BUILDNUMBER). Pour une liste de toutes les variables d'environnement voir cette réponse: stackoverflow.com/questions/22293671/...
OriginalL'auteur technophile