BuildRequestDataFlags Перечисление

Определение

Флаги, обеспечивающие дополнительный контроль над запросом на сборкуFlags providing additional control over the build request

Это перечисление имеет атрибут FlagsAttribute, который разрешает побитовое сочетание значений его элементов.

public enum class BuildRequestDataFlags
[System.Flags]
public enum BuildRequestDataFlags
[<System.Flags>]
type BuildRequestDataFlags = 
Public Enum BuildRequestDataFlags
Наследование
BuildRequestDataFlags
Атрибуты

Поля

ClearCachesAfterBuild 8

При наличии этого флага кэши, включая Microsoft.Build.Evaluation.ProjectRootElementCacheBase, будут очищены после выполнения запроса на сборку.When this flag is present, caches including the Microsoft.Build.Evaluation.ProjectRootElementCacheBase will be cleared after the build request completes. Такой подход используется в случае, если запрос на сборку может изменить множество состояний, например при восстановлении пакетов или создании частей графа импорта.This is used when the build request is known to modify a lot of state such as restoring packages or generating parts of the import graph.

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, we will ignore the project state (but not target results) that were previously generated.

IgnoreMissingEmptyAndInvalidImports 64

При наличии этого флага проекты, загруженные во время сборки, будут игнорировать отсутствующие импорты (IgnoreMissingImports и IgnoreInvalidImports).When this flag is present, projects loaded during build will ignore missing imports (IgnoreMissingImports and IgnoreInvalidImports). Это особенно полезно во время восстановления, так как некоторые импорты могут поступать из пакетов, которые еще не были восстановлены.This is especially useful during a restore since some imports might come from packages that haven't been restored yet.

None 0

Флаги отсутствуют.No flags.

ProvideProjectStateAfterBuild 2

При наличии этого флага объект BuildResult, выданный в ответ на этот запрос, будет включать свойство ProjectStateAfterBuild.When this flag is present, the BuildResult issued in response to this request will include ProjectStateAfterBuild.

ProvideSubsetOfStateAfterBuild 32

При наличии этого флага объект BuildResult, выданный в ответ на этот запрос, будет включать свойство ProjectStateAfterBuild, которое включает ТОЛЬКО явно запрошенные свойства, элементы и метаданные.When this flag is present, the BuildResult issued in response to this request will include a ProjectStateAfterBuild that includes ONLY the explicitly-requested properties, items, and metadata.

ReplaceExistingProjectInstance 1

При наличии данного флага существующий ProjectInstance в построении будет заменен данным элементом.When this flag is present, the existing ProjectInstance in the build will be replaced by this one.

SkipNonexistentTargets 16

При наличии этого флага целевые объекты верхнего уровня в запросе на сборку будут пропущены, если они не определены в проекте для сборки.When this flag is present, the top level target(s) in the build request will be skipped if those targets are not defined in the Project to build. Это применимо только к этому запросу сборки (если другой целевой объект вызывает отсутствующий целевой объект в любой другой точке, это по-прежнему приведет к ошибке).This only applies to this build request (if another target calls the "missing target" at any other point this will still result in an error).

Комментарии

IgnoreExistingProjectStateФлаг предоставляется только в тех случаях, когда клиент знает, что новый запрос сборки не зависит от состояния проекта, созданного предыдущим запросом.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. Установка этого флага может обеспечить повышение производительности в случае несовместимых сходствов узлов, так как в противном случае MSBuild пришлось бы сериализовать состояние проекта с одного узла на другой.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.

IgnoreExistingProjectStateФлаг не влияет на результаты целевого объекта, поэтому, если предыдущий запрос создал целевой объект, новый запрос не будет перестраивать целевой объект.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.

Применяется к