Destinos personalizables de Team Foundation Build
Actualización: noviembre 2007
Los destinos de MSBuild definen cómo se genera un proyecto de MSBuild. El archivo Microsoft.TeamFoundation.Build.targets define la jerarquía de destino y un conjunto de tareas y destinos predefinidos de MSBuild para Team Foundation Build que se utilizan para todos los tipos de Team Foundation Build. Las definiciones de compilación incluyen un archivo de proyecto denominado TfsBuild.proj. El archivo de proyecto puede estar asociado a una única definición de compilación o a varias definiciones de compilación. TfsBuild.proj importa el archivo Microsoft.TeamFoundation.Build.targets y proporciona los valores para las distintas propiedades y grupos de elementos. Puede personalizar el archivo TfsBuild.proj para invalidar algunos de los destinos de punto de extensión de la jerarquía. El archivo de destinos se encuentra en <raíz>:\Archivos de programa\MSBuild\Microsoft\VisualStudio\TeamBuild en el agente de compilación.
Nota importante: |
---|
No modifique el archivo Microsoft.TeamFoundation.Build.targets. |
Para obtener más información sobre los destinos de MSBuild, vea Objetivos de MSBuild.
Destinos que se pueden personalizar con tareas
Las tareas están contenidas en destinos. Las tareas proporcionan el código que se ejecuta durante el proceso de compilación. La tabla siguiente muestra todos los destinos de Team Foundation Build que se definen para la extensibilidad. Inserte las tareas en uno de estos destinos en función del momento, durante el proceso de compilación, en el que debe ejecutar las tareas personalizadas.
Nota: |
---|
No es recomendable que invalide otros destinos. |
Nombre de destino |
Descripción |
---|---|
BeforeEndToEndIteration |
Inserte la tarea en este destino para ejecutar las tareas personalizadas al principio del proceso de compilación. |
AfterEndToEndIteration |
Inserte la tarea en este destino para ejecutar las tareas personalizadas al final del proceso de compilación. |
BeforeInitializeWorkspace |
Inserte la tarea en este destino para ejecutar las tareas personalizadas antes de que se inicialice el área de trabajo. |
AfterInitializeWorkspace |
Inserte la tarea en este destino para ejecutar las tareas personalizadas después de que se inicialice el área de trabajo. |
BuildNumberOverrideTarget |
Inserte la tarea en este destino para personalizar las propiedades de número de compilación o ubicación de destino. La tarea que escribe debe crear una propiedad de salida llamada BuildNumber. |
BeforeClean |
Se llama antes de intentar la limpieza. Inserte la tarea en este destino para ejecutar una tarea personalizada antes de la limpieza. |
AfterClean |
Se llama después de finalizar la limpieza. Inserte la tarea en este destino para ejecutar las tareas personalizadas después de la limpieza. |
BeforeGet |
Se llama antes de recuperar los códigos fuente del control de código fuente. Inserte la tarea en este destino para ejecutar las tareas personalizadas antes de que se recuperen los códigos fuente. |
AfterGet |
Se llama después de recuperar los códigos fuente. Inserte la tarea en este destino para ejecutar las tareas personalizadas después de que se recuperen los códigos fuente. |
BeforeLabel |
Se llama antes de etiquetar los códigos fuente. Inserte la tarea en este destino para ejecutar las tareas personalizadas antes que el destino Label. |
AfterLabel |
Se llama una vez completado el etiquetado. Inserte la tarea en este destino para ejecutar las tareas personalizadas después que el destino Label. |
BeforeCompile |
Se llama antes de iniciar la compilación. Inserte la tarea en este destino para ejecutar las tareas personalizadas antes de que se compilen los archivos de código. |
BeforeCompileConfiguration |
Inserte la tarea en este destino para ejecutar las tareas personalizadas antes de la compilación de una determinada configuración. |
BeforeCompileSolution |
Inserte la tarea en este destino para ejecutar las tareas personalizadas antes de la compilación de una determinada solución. |
AfterCompileSolution |
Inserte la tarea en este destino para ejecutar las tareas personalizadas después de la compilación de una determinada solución. |
AfterCompileConfiguration |
Inserte la tarea en este destino para ejecutar las tareas personalizadas después de la compilación de una determinada configuración. |
AfterCompile |
Se llama después de finalizar la compilación. Inserte la tarea en este destino para ejecutar las tareas personalizadas después de que se compilen los archivos de código. Para obtener un ejemplo, vea Tutorial: Configurar Team Build para generar un proyecto de instalación de Visual Studio. |
BeforeGetChangesetsAndUpdateWorkItems |
Inserte la tarea en este destino para ejecutar las tareas personalizadas antes de asociar conjuntos de cambios y actualizar elementos de trabajo. |
AfterGetChangesetsAndUpdateWorkItems |
Inserte la tarea en este destino para ejecutar las tareas personalizadas después de asociar conjuntos de cambios y actualizar elementos de trabajo. |
BeforeTest |
Se llama antes de ejecutar las pruebas. Inserte la tarea en este destino para ejecutar las tareas personalizadas antes que el destino Test. |
BeforeTestConfiguration |
Inserte la tarea en este destino para ejecutar las tareas personalizadas antes de probar una determinada configuración. |
AfterTestConfiguration |
Inserte la tarea en este destino para ejecutar las tareas personalizadas después de probar una determinada configuración. |
AfterTest |
Se llama después de completar las pruebas. Inserte la tarea en este destino para ejecutar las tareas personalizadas después que el destino Test. |
BeforeDropBuild |
Se llama antes de guardar los archivos binarios generados, los archivos de registro de la generación y los resultados de las pruebas en el directorio de almacenamiento generado en el servidor de versiones. Inserte la tarea en este destino para ejecutar las tareas personalizadas antes de que se guarden los archivos generados en el directorio de destino. |
AfterDropBuild |
Se llama después de almacenar los archivos binarios generados, los archivos de registro de la generación y los resultados de las pruebas en el servidor de versiones. Inserte la tarea en este destino para ejecutar las tareas personalizadas después de que se guarden los archivos generados en el directorio de destino. |
BeforeCreateWorkItem |
Inserte la tarea en este destino para ejecutar las tareas personalizadas antes de que se creen los elementos de trabajo. |
AfterCreateWorkItem |
Inserte la tarea en este destino para ejecutar las tareas personalizadas después de que se creen los elementos de trabajo. |
BeforeOnBuildBreak |
Se llama antes de crear un elemento de trabajo resultante de una interrupción de compilación. Inserte la tarea en este destino para ejecutar las tareas personalizadas antes que el destino BuildBreak. |
AfterOnBuildBreak |
Se llama después de crear un elemento de trabajo como resultado de una interrupción de compilación. Inserte la tarea en este destino para ejecutar las tareas personalizadas después que el destino BuildBreak. |
GenerateDocumentation |
Éste es un destino vacío. Inserte la tarea en este destino para generar automáticamente documentación durante el proceso de compilación. |
Invalidar destinos para ejecutar tareas personalizadas
El código de tarea que escriba debe estar asociado con un destino y los binarios generados deben estar disponibles en el equipo de compilación, bien proporcionando la ruta de acceso de control de código fuente en el archivo TfsBuild.proj o haciendo que los binarios estén disponibles en el propio equipo de compilación. Debe registrar también la tarea personalizada en el archivo TfsBuild.proj declarándola mediante el elemento UsingTask de MSBuild. Para obtener más información, vea Elemento UsingTask (MSBuild). Por último, implemente el archivo DLL que contiene la tarea personalizada en el equipo de compilación.
Nota importante: |
---|
El cambio afecta a todas las definiciones de compilación asociadas al archivo TfsBuild.proj que personaliza. |
Para obtener un ejemplo de una implementación de principio a fin de una tarea personalizada, vea Tutorial: Personalizar Team Foundation Build con una tarea personalizada.
Orden de ejecución de destinos
El orden de ejecución de los destinos depende del valor de la propiedad CleanCompilationOutputOnly. Si CleanCompilationOutputOnly es true, los destinos limpios (BeforeClean, CoreClean y AfterClean) se ejecutan después de los destinos get y label (BeforeGet, CoreGet, AfterGetBeforeLabel, CoreLabel y AfterLabel). Si la propiedad CleanCompilationOutputOnly es false, los destinos limpios se ejecutan antes de los destino get y label. Si CleanCompilationOutputOnly es true, sólo se eliminan los ensamblados intermedios del directorio de código fuente durante la ejecución del destino CoreClean. Si esta propiedad está establecida en false, todo el directorio de origen se eliminará durante la ejecución del destino CoreClean.
En la tabla siguiente se muestra la lista ordenada de los destinos que se ejecutan en función de si CleanCompilationOutputOnly es true o false. Se indican los destinos que puede invalidar.
CleanCompilationOutputOnly = true |
CleanCompilationOutputOnly = false |
---|---|
|
|
A continuación, se muestra la lista de los destinos que se ejecutan cuando se produce un error durante la ejecución del destino CoreCompile. Se indican los destinos que puede invalidar.
SetBuildBreakProperties
BeforeOnBuildBreak (se puede invalidar)
GetChangesetsOnBuildBreak
BeforeDropBuild (se puede invalidar)
CoreDropBuild
AfterDropBuild (se puede invalidar)
BeforeCreateWorkItem (se puede invalidar)
CoreCreateWorkItem
AfterCreateWorkItem (se puede invalidar)
CoreOnBuildBreak
AfterOnBuildBreak (se puede invalidar)
Vea también
Tareas
Conceptos
Introducción a los archivos de configuración de Team Foundation Build