Property and Item Evaluation

When the MSBuild engine begins to process a build file, it is evaluated in a top-down fashion in a multi-pass manner. These passes are described in order in the following list.

  1. Load all environment and global properties

  2. Evaluate properties and imports processing imports as encountered

  3. Evaluate item definitions

  4. Evaluate items

  5. Evaluate using tasks

  6. Start build and reading targets

The first step is numbered 0 because it doesn’t pertain to processing the file but is important in its evaluation. The first pass (numbered 1) is to populate all static properties and to process all import statements. As an import statement is encountered the contents of the import file are duplicated inline into the current project file. When an import ...

Get Inside the Microsoft® Build Engine: Using MSBuild and Team Foundation Build now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.