我有BuildScript.msbuild
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<Target Name="FirstStep">
<Message Text="FirstStep Start" />
<MSBuild Projects="E:\MSBuildProjects\FirstApplication\FirstApplication.sln"/>
<Message Text="FirstStep End" />
</Target>
<Target Name="SecondStep" DependsOnTargets="FirstStep">
<Message Text="SecondStep Start" />
<MSBuild Projects="E:\MSBuildProjects\SecondApplication\SecondApplication.sln"/>
<Message Text="SecondStep End" />
</Target>
</Project>
如果我从cmd启动msbuild E:\MSBuildProjects\BuildScript.msbuild
。 MSBuild仅执行FirstStep
。
如果我启动msbuild E:\MSBuildProjects\BuildScript.msbuild /t:SecondStep
,它将执行FirstStep
和SecondStep
。
为什么在第一种情况下仅执行FirstStep
?我认为它应该执行所有步骤。
答案 0 :(得分:1)
原因是它并没有执行您似乎认为的所有目标。两者都执行的原因仅仅是因为您有一个依赖项。