msbuild/documentation/Built-in-Propeties.md

1.6 KiB

MSBuild's reserved and built-in properties

The MSBuild engine itself sets some properties for all projects. There is normal documentation for the reserved properties and their meanings. This document describes the implementation of these properties in MSBuild itself.

There are actually two different implementations of this functionality in MSBuild.

Built-in properties

When evaluating an individual project, Pass 0 of the evaluation calls AddBuiltInProperties() which in turn calls SetBuiltInProperty() which sets the property basically as normal.

However, properties set there are not available at all parts of execution, and specifically they're not available when evaluating the .tasks file that makes MSBuild's built-in tasks available by default to all projects.

Reserved properties

Reserved properties are set by the toolset and are available only in the .tasks and .overridetasks cases. Properties set there are not available in normal project evaluation.