|Home||Back to Index|
I’ve been working on setting up a Continuous Integration build server at work with CruiseControl.NET and NAnt. I finally got it running. Most of the issues were rights-related (logins, permissions, etc.). The TFS Plugin gave me a bit of trouble; it reported “0 is not a valid changeset number” when the root cause was insufficient rights to a TFS project.
NAnt is great. My main complaint about CruiseControl.NET is the documentation; it’s not well-organized, and several portions are outdated. Still, it works.
The biggest surprise was that the unit tests wouldn’t build on the server because MSBuild (called by NAnt) couldn’t find nunit.framework. The issue was that it was called under a service account, and I had installed NUnit under my account.
We had been referencing the NUnit assembly via the .NET tab on the Add Reference dialog in Visual Studio 2005. I had assumed that this represented the GAC; I was wrong. See http://msdn2.microsoft.com/en-us/library/wkze6zky(VS.80).aspx.
The NUnit install adds the path to the registry under HKEY_CURRENT_USER. Since I had installed NUnit, only I could build projects that referenced it.
I ended up adding the path under HKEY_LOCAL_MACHINE; we’ll probably end up moving the assembly to a Libraries folder and referencing that location instead. I don’t want to have to update this key every time a version changes.
It’s amazing what you find when you try to build projects on a different machine…