Team Build (MSBuild) build engine


Team Build uses MSBuild to build sources. MSBuild engine runs the build in two passes.


The first pass is the declaration pass where properties and items are evaluated and imports happen. All the conditions present on properties, items and imports are evaluated. Please note that properties and items referenced will be evaluated in the order they are encountered by the engine. Moreover the dependency analysis, check for circular dependencies and determining the sequence in which targets will be executed is also done in this pass.


Pass two is execution pass where the tasks and targets are executed. Conditions on the UsingTasks, Targets, Tasks and OnError are evaluated. MSBuild also does dependency analysis for targets. Dependency analysis is the mechanism by which engine analyze the target’s imports and outputs to determine which outputs are dependent on which input. It is used to perform incremental builds and tasks/targets batching.