Этот минимальный пример хорошо работает для меня в nant 0.86.3075.0:
В этом примере a.build и b.build несколько раз включают c.build. a.build и b.build также включают друг друга, но не зависят от целей друг друга, поскольку это создает циклическую зависимость.
Обратите внимание на использование echo на уровне проекта - похоже, они появляются при включении файлов, что может помочь вам отладить вашу проблему.
a.build:
<?xml version="1.0" encoding="utf-8"?>
<project default="a.go" name="a">
<echo message="In A"/>
<include buildfile="b.build" />
<include buildfile="b.build" />
<include buildfile="c.build" />
<include buildfile="c.build" />
<target name="a.go" depends="c.go">
<echo message="Building A"/>
</target>
<include buildfile="b.build" />
<include buildfile="c.build" />
</project>
b.build:
<?xml version="1.0" encoding="utf-8"?>
<project default="b.go" name="b">
<echo message="In B"/>
<include buildfile="a.build" />
<include buildfile="a.build" />
<include buildfile="c.build" />
<include buildfile="c.build" />
<target name="b.go" depends="c.go">
<echo message="Building B"/>
</target>
<include buildfile="a.build" />
<include buildfile="c.build" />
</project>
c.build:
<?xml version="1.0" encoding="utf-8"?>
<project default="c.go" name="c">
<echo message="In C"/>
<target name="c.go">
<echo message="Building C"/>
</target>
</project>
выход:
NAnt 0.86 (Build 0.86.3075.0; nightly; 02/06/2008)
Copyright (C) 2001-2008 Gerry Shaw
http://nant.sourceforge.net
Buildfile: file:///C:/Documents and Settings/rbaker/My Documents/nantinclude/a.build
Target framework: Microsoft .NET Framework 3.5
Target(s) specified: a.go
[echo] In A
[echo] In B
[echo] In C
c.go:
[echo] Building C
a.go:
[echo] Building A
BUILD SUCCEEDED
Total time: 0.1 seconds.
NAnt 0.86 (Build 0.86.3075.0; nightly; 02/06/2008)
Copyright (C) 2001-2008 Gerry Shaw
http://nant.sourceforge.net
Buildfile: file:///C:/Documents and Settings/rbaker/My Documents/nantinclude/b.build
Target framework: Microsoft .NET Framework 3.5
Target(s) specified: b.go
[echo] In B
[echo] In A
[echo] In C
c.go:
[echo] Building C
b.go:
[echo] Building B
BUILD SUCCEEDED
Total time: 0.1 seconds.
NAnt 0.86 (Build 0.86.3075.0; nightly; 02/06/2008)
Copyright (C) 2001-2008 Gerry Shaw
http://nant.sourceforge.net
Buildfile: file:///C:/Documents and Settings/rbaker/My Documents/nantinclude/c.build
Target framework: Microsoft .NET Framework 3.5
Target(s) specified: c.go
[echo] In C
c.go:
[echo] Building C
BUILD SUCCEEDED
Total time: 0 seconds.