如何在Visual Studio.csproj </target>中的<target name =“AfterBuild”>中编写内联代码

时间:2013-09-30 09:25:24

标签: visual-studio build msbuild gruntjs

如果$(ConfigurationName)在<AfterBuild>

中不起作用
<Target Name="AfterBuild">
if $(ConfigurationName) == Release (
    <Exec Command="grunt karma:unit --no-color &gt; grunt-karma-output.txt" IgnoreExitCode="true" />
    <Exec Command="type grunt-karma-output.txt" CustomErrorRegularExpression=".*mPhantomJS.*FAILED" IgnoreExitCode="false" />
)
</Target Name="AfterBuild">

如果$(ConfigurationName)在<PostBuildEvent>

中工作
<PostBuildEvent>
if $(ConfigurationName) == Release (
    <Exec Command="grunt karma:unit --no-color &gt; grunt-karma-output.txt" IgnoreExitCode="true" />
    <Exec Command="type grunt-karma-output.txt" CustomErrorRegularExpression=".*mPhantomJS.*FAILED" IgnoreExitCode="false" />
)
</PostBuildEvent>

有人可以建议如何在AfterBuild

中检查构建是否处于发布模式

1 个答案:

答案 0 :(得分:7)

在目标上使用条件:

<Target Name="AfterBuild" Condition="$(Configuration)==Release">
  <Exec Command="echo AfterBuild"/>
</Target>

顺便说一下,这对PostBuildEvent也有同样的作用(你发布的代码肯定工作)。

<PropertyGroup Condition="$(Configuration)==Release">
  <PostBuildEvent>echo PostBuild</PostBuildEvent>
</PropertyGroup>