Lingua

ProjectEvaluationStage Enum

Definition

Specifies how far project evaluation should proceed.

public enum class ProjectEvaluationStage
public enum ProjectEvaluationStage
type ProjectEvaluationStage = 
Public Enum ProjectEvaluationStage
Inheritance
ProjectEvaluationStage

Fields

Name Value Description
Properties 1

Evaluate initial properties, properties, and imports (passes 0 and 1), then stop. Property values are final and equivalent to a full evaluation. Items, item definitions, using-tasks, and targets are not available.

ItemDefinitions 2

Evaluate through item definitions (pass 2), then stop. Includes everything from Properties. Items, using-tasks, and targets are not available.

Items 3

Evaluate through items (passes 3 and 3.1), then stop. Includes everything from ItemDefinitions. Using-tasks and targets are not available.

UsingTasks 4

Evaluate through using-tasks (pass 4), then stop. Includes everything from Items. Targets are not available.

Full 2147483647

Perform a complete evaluation, including target registration (pass 5). This is the default.

Remarks

MSBuild evaluation runs a fixed sequence of passes. Callers that only need data produced by an early pass (for example, a property value) can request a partial evaluation that stops after that pass, avoiding the cost of the later passes (item globbing, using-tasks, and target registration).

The values are ordered by how much of evaluation is performed. A larger value performs strictly more work than a smaller one. The default is Full, which preserves the historical behavior of running every pass.

Reading state that a partial evaluation did not produce (for example, reading items after stopping at Properties) throws InvalidOperationException.

Applies to