I will talk about a great tool which is not a lot used by developer. This tool is not recent but it is not a lot used. So I will try to make people used it!

A lot of developer use only Visual studio in DotNet project but you have a lot of other IDE(or build tool) to manage your project:

sharpdevelop

monodevelop

nant

make (autotool)

…

You can even used some IDE with plugin (eclipse for example…).

And for VS you have VS 2002, VS2003, VS2005 and VS ORCAS in beta2.

So when you start an open source project, you have to said we will all worked on the same IDE. If you want to support more than one IDE, you will have to synchronized the solution file and it will take a lot of time for nothing.

An other case, you want to switch from VS2003 to VS2005. So you will have dev on the older one and some on new one. This is now not a big issue because you have VS Express but at start you have to buy your Visual studio. For a open source developer, it is so expensive.

DotNet PreBuild is the tool to save your time. It is a project file generator based on XML.

This tool is great because you have to maintain only one XML project file and you target Visual Studio .NET 2002, 2003, 2005, SharpDevelop, MonoDevelop, NAnt and Autotools.

My favorite feature is that you can said take all file with name as “*.cs” in this folder.

With that you have nothing to maintain only have to put file in good folder and when you want to not used a file rename it or delete it.

To make project file you have to call the Prebuild.exe with /target:MyTarget where MyTarget can be all target writen previously.

So quite easy to done batch file for each project and just have click it and a project file of your choice is generated.

The only missing features for me is the possibility to parse a project file to generate the prebuild project file.

In my opinion, this project is good for mono because it make project file not linked with an IDE (So, with an OS).