Skip to content

Tag Archives: NAnt

NAnt vs MSBuild funnies

20-Mar-08

All the software is equally bad…

Well, I know some pieces of software that are good, but I won’t mention them today.

One of our msbuild vs nant choice criteria isĀ  a product versioning support.

Sad or funny things are:

  • both don’t include sane tool out of box;
  • both need installing NAntContrib or MSBuild Community Tasks;
  • even then both can’t sanely write AssemblyInfo.cs in order to leave other properties intact; if you had InternalsVisibleTo satellite unit test assembly - it won’t build then;

NAntContrib Version task is way more functional.

Additionally, MSDN page design where MSBuild reference manual lives, is awful.

I wonder if it’s the reason to choose a build tool, while they are approximately equal.

OTOH, MSBuild has a great GenerateBootstrapper task to install .NET framework from MSI (WiX sample included in the referenced wiki).


Choosing MSBuild/TeamBuild vs NAnt

11-Mar-08

We’re choosing a build tool for VS 2008 project.
I’m not expert in any, only had put together a couple of NAnt scripts. So I give no objective technical information in this post, just impressions.

  • First discussion of this choice, back in 2005, is almost strictly in favor of NAnt. Though, read it to know about MSBuild differences and advantages.
  • Recent blog post by Oren Eini and int comments are also generally for NAnt. Additionally, you can use <msbuild> task in NAnt.
  • The latter mentions Yahoo! ALT.NET group discussion. Newsgroup fan can read a lot there, I also had some. There are reasonable votes there for MSBuild because it’s just deployed with .NET, ant it’s nearly functionally equivalent to NAnt.
    Though, I can’t forget first discussion that mentioned lack of tasks like editing files or grabbing text output, or incrementing build number - (you know, devil is in details!) - it seems to me that NAnt wins.
    Here’s the most useful message there, as for me.

You see, I didn’t go too deep down simple Google search. That was enough for me, you’re welcome to research deeper and to correct me… especially until I started creating build procedure <grin>

And I trust mature and popular opensource products.