Follow up on MSBuild
As a follow up on my post yesterday about continuous integration, I am really starting to like MSBuild. Sure, it has a few quirks, but with the MSBuild Community Tasks, they have tasks for most of the things I want to do, and it doesn't look very hard to write your own tasks. Sure, you have to write/compile your custom tasks as opposed to kind of scripting them with nant, but that isn't much of a problem, in my opinion. Additionally, it is one less application I need to mess with. Why learn CruiseControl.NET, nAnt, and MSBuild, when I can get it all done with just CruiseControl.NET and MSBuild. One less thing to deal with.
Also, I highly recommend this series of posts by Carel Lotz on setting up CCNet and MSBuild with Subversion, FxCop, NUnit, and NCover. I was reading it last night through Google cache (the site was down for a while) and it got me up and going very quickly. Covers a nice range of tasks very clearly with clean build scripts. Was able to quickly take some of its basics and begin getting MSBuild to do what I needed.
Think tonight I'm going to write my first custom task. I already got it to build a project and it tracks all the output DLLs, but I also want it to parse a project file to find all the file-based references. I found how to get a project's references, but in the form of the full assembly reference, couldn't get the path to the file it referenced. Going to write a task that can open a project file as XML, get its references as files, and then return the list.