|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
Customizing Team Foundation Build
Team Foundation Build is an extensible system for build automation that enables end-to-end public builds that integrate with other Visual Studio Team System tools. Team Foundation Build provides a simple dialog box and wizard-based method to create build definitions. By using the dialog box, you can specify the build agent to use, the solutions to build, the drop location, and so on. The wizard enables you to generate a MSBuild project file called TFSBuild.proj that you can use to customize the build by adding build steps and by writing custom tasks.
Team Foundation Build is designed to be extensible. The Build Definition dialog box is designed to create build definitions that meet common build scenarios. Even so, some build scenarios may require customization of the TFSBuild.proj file. Team Foundation Build includes some common tasks to support actions like running tests and getting sources from source control. However, your build process might require that other tasks be run as part of the build process. For example:
A build administrator might want to have the output assemblies deployed to a specified location after compilation finishes, but before testing starts.
A company might require a specific build numbering system and override one of the default numbering systems included in Team Foundation Build.
A developer may want to sign the output assemblies after the build process is finished.
This section discusses how you can customize build processes by writing custom tasks.