Sure, there is much more control when using individual tasks; logically this is all the solution task does, convert the vs.net xml format into a series of nant task executions... The <solution/> task makes certain assumptions and reproduces the behavior of vs.net; This may not be the case for everyone's build needs.
 
The main advantage of using the solution task, IMO, is that you don't need to keep a separate NAnt build file, and vs.net solution, and projects, file(s) synchronized. You can use the solution/project file to bootstrap your NAnt build process.
 
The VS.Net project file format requires that all files be explicitly included, but the <csc/> task can work with fileset to select files based on wildcards, like "**/*.cs". If you maintain a project file (vs.net), by using vs.net as your editor, it is reasonable to assume that you don't need to deal with this, but it is a feature all the same.
 
Note: There are plans to get the <solution/> task working better on Mono/Linux.
----- Original Message -----

What if you are a using Nant in a situation where you do not have access to Visual Studio? You could potentially be on an OS that's not supported by Visual Studio (i.e. Linux) or you don't have the financial capacity to buy Visual Studio. In these cases you don't have the means to create Visual Studio solutions (or projects) and use the <solution> task. In these cases you would need to use the <csc> task.
 
Are there any other reasons why you might use the <csc> task over the <solution> task?

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Shawn Knowles

This may seem like a trivial question, but I am curious to know if more people build C# tasks with the solution or csc task.  I am wondering why one wouldn’t use the solution task since it seems to be much easier.  Any advice, standard practices, or opinions are greatly appreciated.

Reply via email to