documentation/Property-tracking-capabilities.md
MSBuild Property Tracking is a built-in diagnostic feature that tracks property value changes during the build process. By default, this feature is opted out due to performance considerations.
The implementation tracks properties in the following scenarios:
/p: switches)The feature implements specialized event handling for four tracking scenarios (plus a 'None' option to disable tracking):
PropertyReassignmentEventArgs
set MsBuildLogPropertyTracking=1MsBuildLogPropertyTracking=0PropertyInitialValueSetEventArgs
set MsBuildLogPropertyTracking=2EnvironmentVariableRead
set MsBuildLogPropertyTracking=4UninitializedPropertyReadEventArgs
set MsBuildLogPropertyTracking=8None
set MsBuildLogPropertyTracking=0If you want to enable all these events reporting, enable it by set MsBuildLogPropertyTracking=15.
Property reassignment tracking has special enabling logic. It is enabled when:
PropertyReassignment flag is explicitly set (value includes 1), ORMsBuildLogPropertyTracking=0 AND ChangeWaves.Wave17_10 features are enabledThis means that in projects with Wave17_10 enabled, property reassignments will be tracked even when property tracking appears to be disabled.