Nant Tool

NAnt is a BuildProcess tool for MicrosoftDotNet, based upon ApacheAnt. NAnt includes support for NdocTool and NunitFramework.

NAnt is probably the most popular open build language for the MicrosoftDotNet platform, though the pure VisualStudio IDE and the Nmake clone of make it also ships with (see UsingNmake). The pre-announcement of MicrosoftBuild puts a cloud over its future, though as it also runs on the MonoProject, it has a future. ApacheAnt's support for MicrosoftDotNet projects is more limited, which implies that combination is less popular.

It's not very good. Poke around the Nant wiki and see for yourself, or download and try it. Then try SconsBuildTool. You'll get your stuff working much faster. SconsBuildTool is great for DotNet.


I think ApacheAnt and NantTool are really poor at what they do. It's about the worst use of ExtensibleMarkupLanguage I have seen. It's a real drag to edit and maintain these files. They are convoluted, and rather than lying on top of XML, they intertwine. They have horrible macro expansions in attributes and weird structures. But hey, they are in XML. That must be good.

For DotNet, SConsTool is much easier to get working and is better supported.

-If you think that macro expansions in text elements is horrible, then so is XPath, XML Schema and many other XML extension specifications. The nice thing about XML based languages is that the XML toolchain can work with them, as well as humans. Now, machines may have the upper hand in terms of legibility, but that is XML for you. If you think ApacheAnt and NantTool are the worst uses of ExtensibleMarkupLanguage, please take a look at the XML output of MSWord. That isn't even easily machine readable. Note that the Ant team reguarly gets complaints about 1. Ant not handling double dashes -- in comments, 2. Bad handling of foreign characters in XML files not declaring their encoding to be other than UTF-8 and 3, whitespace sensitive inside tasks. (1) and (2) are actually requirements of XML; whitespace sensitivity is something deliberately retained for better output formatting. Yet judging by the frequency of these complaints, users do have issues with XML. It's hard to blame Ant, Nant and soon MSBuild for this -only by moving to a non-XML syntax do you improve authorability. --SteveLoughran.


DracoDotNet and CruiseControlNet provide ContinuousIntegration for NAnt builds.


CategoryDotNet CategorySoftwareTool CategoryAnt

EditText of this page (last edited January 20, 2009) or FindPage with title or text search