NAnt Solution Task bug – Error checking whether ‘xxx’ is an enterprise template project.

Just spent a little while looking into this.  I thought I’d be clever and add my build script to the solution it builds so I can get some intellisense from Resharper (although it’s somewhat limited).  This added the file into ‘Solution Items’ which is a virtual folder.

The error appears because NAnt expects to find valid project files in the solution folders.  I had the same error previously with Web Site Projects (as these are also ‘special folders’). 

I’m using NAnt 0.86 (Build 0.86.2898.0; beta1; 8/12/2007), and from the bug report it seems that it’s fixed in 0.86 beta 2 (not yet out) so you’ll have to get a nightly build if you’re desperate.

My workaround for the moment is to use the NAntContrib MSBuild task to build my Web Deployment project (which in turn builds all the dependencies), as follows:

<target name=”build.webdeploy” description=”Compiles a Web Deployment Project using MSBuild”>
  <msbuild project=”${project.dir}\mydeploydir\mydeployproj.wdproj” verbosity=”Detailed” >
     <arg value=”/p:Configuration=${build.configuration}” />

You can fill in the blanks yourself with the parameters.

Visual Studio Steup Project Bug

I found a cracker of a bug (undocumented feature) this morning that was keeping me ‘amused’ for a couple of hours.  I was trying to use Visual Studio 2003 Installer to create a Setup package to actually deploy setup packages (yes, you read correctly!) to a number of ‘deployment’ servers.  These are localised servers where users pick up new versions of software (we’re not quite at one-click deployment yet 🙂 ).

I was using a checkbox dialog to give options on which servers to deploy to, and was then using the properties set in the dialog to control whether the specific ‘custom folders’ (public shares on the different servers) were deployed.  This doesn’t work!

You actually have to ensure that you don’t specify a condition at the folder level, and then select all files and add the condition there (for all files). 

I think the documentation fairy neglected to mention that one!