问题
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!

回答1:
$(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"


回答2:
Build Agent
host WWF (sequential workflow)
and execute all activities on source.
When you set Build Agent Folder to $(SourceDir)
, agent use Working Directory
in order to retrieve source.
When you set Agent Folder to another folder, agent retrieve source from this folder
来源:https://stackoverflow.com/questions/20139688/what-is-build-agent-folder-sourcedir-of-a-build-definition-in-tfs-build-201