在MSBuild中,您可以向目标添加一个BeforeTargets属性,该属性允许您在运行基本目标之前运行目标,而不必更改基本目标。我想知道ANT是否支持这种功能,或者当我想在执行一个目标之前执行另一个目标时,我必须重新定义所有的目标吗?
谢谢,劳尔
发布于 2011-06-08 00:27:53
您可以在(N)Ant中使用depends属性:
<target name="target3" depends="target1,target2">我想这和MsBuild中的DependsonTargets是一样的。我强烈建议您不要使用之前/之后的目标。如果我运行一个目标,在看到构建文件之后,看到一些额外的目标在它之前/之后运行,尽管我没有看到任何关于其他目标的内容,我会非常困惑,有时,这可能会造成伤害。
发布于 2012-07-13 06:33:38
在MSBuild 4.0中,目标具有BeforeTargets和AfterTargets属性。它们指定要在另一个目标之前/之后运行的目标的列表。
对于指定在您无法控制的另一个目标文件(例如Microsoft.Common.targets)中定义的目标之后发生的事情,这实际上是非常好的。
示例:
<Import Project="Microsoft.Common.targets" />
<Target Name="GetSourceFiles" BeforeTargets="Build">
<Message Text="GetSourceFiles now executing" />
... execute your source control operations ...
</Target>
<Target Name="CopyOutputsForPublishing" AfterTargets="Build">
<Message Text="CopyOutputsForPublishing now executing" />
... execute your copying operations ...
</Target> 我发现这些很有帮助。
更多信息请访问:http://blogs.msdn.com/b/visualstudio/archive/2010/02/18/build-extensibility-with-net-framework-4.aspx
https://stackoverflow.com/questions/6268467
复制相似问题