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.