Как уже говорилось в ответе на другой пост, вам следует смоделировать ваш проект MSBuild с зависимостями между вашими целями, а не вызывать цели один за другим.
<Project DefaultTargets="tttt" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="t">
<Message Text="t" />
<PropertyGroup>
<aa>1</aa>
</PropertyGroup>
</Target>
<Target Name="tt" DependsOnTargets="t">
<Message Text="tt" />
</Target>
<Target Name="ttt" DependsOnTargets="t;tt">
<PropertyGroup>
<aa>122</aa>
</PropertyGroup>
<Message Text="ttt" />
</Target>
<Target Name="tttt" DependsOnTargets="t;tt;ttt">
<Message Text="tttt" />
<Message Text="tttt:$(aa)" />
</Target>
</Project>
Подход, который я использую, заключается в определении цели как моей конечной цели и включении ее в проекты DefaultTargets.
Затем добавьте все, что должно произойти для достижения этой цели.