如何转换';如果';是否将NAnt中的条件转换为MSBuild?

如何转换';如果';是否将NAnt中的条件转换为MSBuild?,msbuild,Msbuild,我有一个NAnt脚本,如下所示: <if test="${a}>${b}"> <call target="target"/> </if> 我想要的是将其转换为MSBuild脚本。 我发现有写条件的标记,但它只用于定义属性/项 我们可以在MSBuild中写入“if”条件吗? 请帮忙 每个msbuild任务都有一个可选的条件参数,因此您可以执行以下操作: <CallTarget Targets="target" Condition

我有一个NAnt脚本,如下所示:

<if test="${a}>${b}">      
  <call target="target"/>
</if>

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

我们可以在MSBuild中写入“if”条件吗?
请帮忙

每个msbuild任务都有一个可选的条件参数,因此您可以执行以下操作:

<CallTarget Targets="target" Condition="${a} &gt; ${b}"/>

编辑:如果需要执行多个任务的条件,可以重复每个任务的条件参数,也可以将多个任务调用封装在目标中

<Target Name="MultipleCall" Condition="${a} &gt; ${b}">
  <CallTarget Targets="targetA"/>
  <CallTarget Targets="targetB"/>
</Target>


(字符<和>必须转义)

谢谢madgnome!但是,如果我们需要一个条件来执行多个任务,该怎么办:。。。希望收到您的来信。或者不--Choose/When似乎合适,但遗憾的是,Choose构造无法用于目标:-P