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.
Load all environment and global properties
Evaluate properties and imports processing imports as encountered
Evaluate item definitions
Evaluate using tasks
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 ...