Речь идет о параллельной сборке.Два события:
- MSBuild
TaskStarted
ProjectStarted
ИЛИ
ProjectFinished
- MSBuild
TaskFinished
Итак, если MSBuild TaskStarted.Timestamp
<<code>ProjectStarted.Timestamp, то рассматриваемая задача MSBuild запущена раньше, чем проект.
РЕДАКТИРОВАТЬ 1
Я пытаюсь установить отношения родитель-потомок между событиями msbuild.Самое сложное - между MSBuild TaskStarted
и ProjectStarted
.TaskStarted
(т. Е. Задача) может быть родительским для данного ProjectStarted
(т. Е. Проекта), но в журнале они часто имеют одинаковую метку времени и принадлежат разным узлам msbuild.Я все еще могу сопоставить их, используя другое предположение ( Правда ли, что ProjectStartedEventArgs.TargetNames` одинаков для всех дочерних проектов, вызванных из одной и той же задачи MSBuild? ).Во всяком случае, у меня есть случаи, когда мой код ломается, потому что кажется, что дочернее событие ProjectStarted
имеет меньшую временную метку, чем его родительское событие MSBuild TaskStarted
.