This documentation is archived and is not being maintained.

Walkthrough: Configuring and Using a Desktop Build

Team Foundation Build includes the ability to run builds locally wherein a developer can build the team project and run tests locally before checking in his changes. This walkthrough demonstrates the steps used 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 enabled) are performed.

  • Other public build steps such as sync, clean, code churn, copying to drop locations, and 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 warehouse.

Desktop Build Results

As discussed above, 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 control the verbosity of MSBuild logger using the verbose option of the MSBuild command. For more information, see MSBuild Logging.

To perform a desktop build

  1. Manually synchronize the team project root directory from Team Foundation source control locally. For example:

    The Team Foundation source control server has the following structure:


    Portfolio Project1

         Team Build Types






    After synchronizing team project1 to the local directory C:/temp, your local directory structure is as follows:


              /Portfolio Project1

                   /Team Build Types






    Caution noteCaution

    The local directory structure must exactly match the server structure for the build to run properly.

  2. Start the Team Foundation Build process by running MSBuild, on the command line, type:

    C:\temp\Portfolio Project1\Build Configurations\Main> MSBuild TeamBuild.proj

    The paths for the solutions in TeamBuild.proj is resolved because the default solution root mentioned in TeamBuild.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.


    Use the /p switch to modify the solution root if needed. For more information, see the "Setting Properties from the Command Line" section of MSBuild Properties.