MSBuild输入参数配置

时间:2018-11-09 12:14:07

标签: c++ msbuild

我有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,它将执行FirstStepSecondStep

为什么在第一种情况下仅执行FirstStep?我认为它应该执行所有步骤。

1 个答案:

答案 0 :(得分:1)

原因是它并没有执行您似乎认为的所有目标。两者都执行的原因仅仅是因为您有一个依赖项。