I’ve been writing (and fixing other people’s) Ant build files for about 5 years now. In that time I never really touched Nant much. My assumption was that Nant was a faithful reproduction of Ant, but with .NET specific tasks rather than Java tasks. That was a hasty assumption. In fact, it’s wrong. This is the first of a few posts about the differences.
One of the first things that struck me was the lack of tasks in Nant. I was a bit taken aback. But that was before I discovered functions. Functions are nice. Functions means you don’t need so many tasks. For example, you can do throw in a function to get the parent directory of a file so rather than execute a task.
In summary: Nice. Really helpful and I wish someone would port them to Ant. More info at the Nant site: Link