What is `build agent folder` $(SourceDir) of a build definition in TFS Build 2012?

build-definition, tfsbuild

Solution

`$(SourceDir)` is the Directory on the Build machine, which will be used for Check-out your source code from TFS and then to Compile it and Build.

Value for the $(SourceDir) is what you will configure it to; normally your working directory on the build machine and by default its value come from `Working directory` settings on the `build agent` properties (red marked) option as shown in the picture; i.e. `$(SystemDrive)\Builds\$(BuildAgentId)\$(BuildDefinitionPath)`

Where

- $(SystemDrive) is system drive, e.g. C:

- $(BuldAgentID) is a numeric number assigned to agents normally 1,2,3 etc.

- ($BuildDefinitionPath) is the root folder of your source code from TFS.

So a typical example of $(SourceDir) can be "C:\Bulids\1\TeamProjectName\Path\To\Your\App"

Problem

When creating a `build definition` for a TFS build, there is a section called `Source Settings` as below snapshoot where we have to define 1) Source Control Folder and 2) Build Agent Folder. As I understand, the `source control folder` is where to get the source to build. But I don't get the idea what is the `build agent folder` is used for in a build. Please share me what that is about if you know it. Thank you!

Original source