Some days I get very tired of the “Microsoft is Evil” dogma. I’m currently reading Paul Duvall’s book Continuous Integration, and that seems to be an unstated assumption. It implies that we should all write NAnt build scripts and move away from the IDE.

Don’t get me wrong; I’m a believer in CI. But not using Visual Studio for developer builds simply isn’t realistic. On a project of any complexity, developers are going to want to put their projects and solutions together in Visual Studio. They are not going to want to duplicate their effort by editing an XML build file. Real projects change, and no one wants to do dual maintenance. If people had wanted to edit make files by hand, they wouldn’t have invented IDEs.

It’s possible to transform a Visual Studio Solution file into an XML build script using MSBuild. You can then use XSL (or code) to transform the file into an MSBuild script suitable for deployment; free extensions permit automating NUnit, FxCop, etc. I’ve done just that at work. I’m sure it’s possible to generate an NAnt script instead, but why? I’ve got a script in MSBuild format, I’ve already had to learn that syntax, so why not stick with it?

For anyone who wants to talk about Mono, I have one word: Kylix. “What’s Kylix,” you ask? Exactly.

Use Microsoft tools when that makes sense. Use open source or third party tools when there’s a compelling reason. These are business decisions, not personal preference.

P.S. Private builds are not optional! Duvall’s absolutely right about this; broken code in the repository is shameful.

I don’t think it’s that hard
Is it really that hard?

- The Gothsicles, Turn Signals Are Still Cool

Update - February 20, 2008

I was completely wrong about NAnt; see later posts and comments. It rocks.

Your Host:
Copyright © 2000-2013 by William Sorensen. All rights reserved.