使用NANT构建子项目

时间:2011-04-20 10:36:42

标签: c# .net nant

我正在尝试使用NANT构建项目(A)。项目(A)依赖于另一个项目(B),该项目也是用NANT建造的。我希望能够从项目(A)的构建中调用依赖项目(B)的构建。我已经尝试在项目A的构建文件中包含项目B的构建文件。这会产生错误,因为这两个构建文件包含共享相同名称的目标。

有没有办法为包含的构建文件添加别名?

3 个答案:

答案 0 :(得分:3)

你可以这样做,创建一个“父”构建文件,它使用“nant”动作来调用其他构建文件。

<target name="rebuild" depends="" >
    <nant target="${target::get-current-target()}">
        <buildfiles>
            <include name="projectB.build" />
            <include name="projectC.build" />
        </buildfiles>
    </nant>
</target>

答案 1 :(得分:0)

我试图使用include任务执行此操作,但发现nant任务实际上是我所需要的。

答案 2 :(得分:0)

您可以在“主”文件中包含多个此类目标。我经常使用以下构造在目标之间共享一组构建文件,以使脚本维护更容易。

<fileset id="buildfiles.all">
    <include name="projectB.build"/>
    <include name="projectB.build"/>
</fileset>

<target name="build">
    <nant target="${target::get-current-target()}">
        <buildfiles refid="buildfiles.all" />
    </nant>
</target>

<target name="clean">
    <nant target="${target::get-current-target()}">
        <buildfiles refid="buildfiles.all" />
    </nant>
</target>

<target name="publish">
    <nant target="${target::get-current-target()}">
        <buildfiles refid="buildfiles.all" />
    </nant>
</target>