Pregunta

He estado usando SVN por un tiempo ahora. recientemente en un proyecto en el que estoy usando TFS. Con las compilaciones me gusta para añadir / actualizar el número de versión de compilación de los resultados del proyecto. Lo hago en el masterpage por lo que es claramente visible en la aplicación. Dado que la aplicación podría estar en ejecución en varias máquinas, se trata de información útil sobre la que se están ejecutando verison.

Me achive esto en SVN mundo como:

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

Como se puede ver por encima de la tarea "BeforeBuild" actualiza el archivo masterPage.master con el sello YYYY.MM.DD.SVNVERSION.

¿Cómo puedo achive esto con TFS como el control de código fuente. ¿Cómo consigo el número de compilación de TFS?

¿Fue útil?

Solución

Suponiendo que quiere decir Generar equipo, el $ (BuildNumber) propiedad contiene el número de versión actual.

http: //blogs.msdn.com/aaronhallberg/archive/2008/02/12/team-build-2008-property-reference.aspx para una referencia completa de propiedades disponibles.

Si sólo está funcionando MSBuild, no creo que genera / se aplica un número total de construcción (cada proyecto tendrá un individuo, posiblemente incrementado automático, con número de versión en sus AssemblyInfo.cs [por defecto] archivo) . Puede obtener dinámicamente este número de versión de un montaje concreto utilizando la clase System.Reflection.Assembly en tiempo de ejecución.


Actualizar

A partir de TFS 2010, la variable 'BuildNumber' es enviado al proceso de MSBuild por TFS ya automáticamente. TFS 2010 ahora utiliza Windows Workflow como su motor de generación interna, por lo que si desea que el número de compilación, tendrá que modificar su definición acumulación de incluirlo, como se menciona en este MSDN artículo .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top