Walkthrough: Configuring and Using a Desktop Build
In Team Foundation Build, a developer can build the team project and run tests locally before checking in the changes. This walkthrough shows you how to perform a desktop build.
Desktop Build Differences
A desktop build scenario behaves differently from public builds in the following ways:
Only the compilation and testing (if they are enabled) are performed.
Other public build steps such as sync, clean, code churn, copying to drop locations, work item update, and creating new work items are not performed in desktop builds.
The default MSBuild logger is used and the build output is written to the console.
The build and test results data is not published or pushed to the warehouse.
Desktop Build Results
The Team Foundation Build logger is not used for desktop builds. Therefore, no data is pushed to the database to create status reports. To view the results of desktop builds, you must redirect the default MSBuild logger output file and view it. You can use the verbose option of the MSBuild command to control the verbosity of MSBuild logger. For more information, see Overview of Logging in MSBuild.
Prerequisites
Visual Studio Team System.
A connection to a Team Foundation Server and at least one existing team project. For more information, see Walkthrough: Joining a Team Project and How to: Create a Team Project.
At least one build definition defined. For more information, see Walkthrough: Creating a Build Definition in Team Foundation Build.
Required Permissions
To complete this walkthrough, you must have the Team Foundation Server Start a build permission set to Allow. For more information, see Team Foundation Server Permissions.
To perform a desktop build
Manually synchronize the team project root directory from Team Foundation version control locally.
For example:
The Team Foundation version control server has the following default structure:
Note
This structure can be different on your Team Foundation version control server.
$\
Portfolio Project1
** Team Build Types**
** Main**
** TFSBuild.proj**
** Solution1**
** Solution2**
** Solution3**
After synchronizing team project1 to the local directory C:/temp, the local directory structure is as follows:
C:/Temp
** /Portfolio Project1**
** /Team Build Types**
** /Main**
** /TFSBuild.proj**
** /Solution1**
** /Solution2**
** /Solution3**
Important Note: The local directory structure must exactly match the server structure for the build to run correctly.
Start the Team Foundation Build process by running MSBuild, on the command line. Type the following:
C:\temp\Portfolio Project1\Build Configurations\Main> MSBuild TeamBuild.proj
The paths for the solutions in TFSBuild.proj are resolved because the default solution root mentioned in TFSBuild.proj is "…/..". Also, the solutions passed to the MSBuild task use this solution root property as ($solutionroot)/Solution1. Therefore, in this case, the value of solution root becomes C:/Temp/Portfolio Project1.
Note
Use the /p switch to modify the solution root, if it is required. For more information, see the "Setting Properties from the Command Line" section of MSBuild Properties.