BuildRequestDataFlags Enum


Flags providing additional control over the build request.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

public enum class BuildRequestDataFlags
public enum BuildRequestDataFlags
type BuildRequestDataFlags = 
Public Enum BuildRequestDataFlags


IgnoreExistingProjectState 4

When this flag is present and the project has previously been built on a node whose affinity is incompatible with the affinity this request requires, this build request ignores the project state (but not the target results) that was previously generated. This behavior is not usually desired; see the Remarks section for more information.

None 0

No flags.

ProvideProjectStateAfterBuild 2

When this flag is present, BuildResult issued in response to this request will include ProjectStateAfterBuild.

ReplaceExistingProjectInstance 1

When this flag is present, the existing ProjectInstance in the build will be replaced by this one.


The IgnoreExistingProjectState flag is provided only for those cases where the client knows that the new build request does not depend on the project state generated by a previous request. Setting this flag can provide a performance boost in the case of incompatible node affinities, because MSBuild would otherwise have to serialize the project state from one node to another. Serializing the project state can be expensive, depending on the amount of data the project has previously generated.

The IgnoreExistingProjectState flag has no effect on target results, so if a previous request has built a target, the new request will not rebuild the target. Additionally, none of the project state mutations which occurred as a consequence of previously building that target will be reapplied.

Applies to