tfs msbuild tfs2010 tfsbuild changeset

TFS Construye un conjunto de cambios específico y lo implementa usando el número de conjunto de cambios



msbuild tfs2010 (3)

Cuando pone en cola la compilación desde Team Explorer, en la pestaña Parámetros, uno de los argumentos avanzados es obtener la versión.

Nota: Creo que necesita especificar esto en el formulario C123, donde 123 es el número del conjunto de cambios.

Tengo una definición de compilación para construir una solución en mi TFS. Esto funciona bien, pero siempre construye la última versión.

  1. ¿Cómo puedo forzar la construcción de un conjunto de cambios específico del pasado?

  2. ¿Cómo puedo usar / pasar este número a los "Argumentos de MSBuild" para usarlo allí para la implementación?


La respuesta a su primera pregunta es claramente lo que @Dylan ha declarado.

A tu segunda parte:
El argumento importante es GetVersion . Desplácese a la actividad "Ejecutar MSBuild para el proyecto" dentro de su plantilla de proceso de compilación, de manera predeterminada esto tiene un valor de CommandLineArguments igual a

String.Format("/p:SkipInvalidConfigurations=true {0}", MSBuildArguments)

Puedes cambiarlo por algo como

String.Format("/p:SkipInvalidConfigurations=true {0} /p:DeployIisAppPath=/changeset/{1}", MSBuildArguments, GetVersion)

y llegar a donde necesites ir.


Si usa el número de conjunto de cambios, entonces solo tendrá sentido para las compilaciones de CI, ya que normalmente crean un único conjunto de cambios.

Para cualquier otro tipo de compilación, recomiendo usar el ID de compilación, que es único, y cubre el caso de una compilación que genera múltiples conjuntos de cambios.