如何将NAnt中的"if"条件转换为MSBuild?

Nam*_* VU 5 msbuild

我有一个如下的NAnt脚本:

<if test="${a}>${b}">      
  <call target="target"/>
</if>
Run Code Online (Sandbox Code Playgroud)

我想要的是将其转换为MSBuild脚本.我发现有写标签的标签,但它只用于定义属性/项目.

我们可以在MSBuild中写"if"条件吗?请帮忙!

Jul*_*rau 5

每个msbuild任务都有一个可选的Condition参数,所以你可以这样做:

<CallTarget Targets="target" Condition="${a} &gt; ${b}"/>
Run Code Online (Sandbox Code Playgroud)

编辑:如果您需要条件来执行多个任务,您可以重复条件参数foreach任务,或者您可以将多个任务调用封装在目标中

<Target Name="MultipleCall" Condition="${a} &gt; ${b}">
  <CallTarget Targets="targetA"/>
  <CallTarget Targets="targetB"/>
</Target>
Run Code Online (Sandbox Code Playgroud)

(字符<和>必须转义)