Setting up a build server for .NET development is not so easy like in Java. We could find several explanations for this and one of them could be the huge dependency .net developers have with Visual Studio. I have met many developer that have no idea of how to generate a build of their application without using Visual Studio. Even more, it is very common to find people installing Visual Studio in their build servers 😦 (I did that several times!). Maybe because of this, command line tools never had much popularity among .NET developers. At the same time, Visual Studio along could be not enough to create a quality build (Visual Studio out of the box can not run NUnit tests and StyleCop analysis).
My approach to build my applications is to use a build tool. For the case of .NET there a couple of build tools out there. I think the most popular are:
- NAnt: it is basically a port of Ant, the famous build tool for Java
- MSBuild: the Microsoft proposal
- PSake: is a relatively new tool based on Power Shell
In my case, I choose MSBuild, but it is not enough, because this tool does not have out of box support for integration with some other tools that I use like Nunit, StyleCop, JsLint. So in additional to MSBuild I use a set of community extensions called MSBuild Community Tasks.
But the story does not end here, when I want to setup a new build server (or when a new member joins my team) several stuff must be installed in a new box. To simplify this setup, I have created an installation package that contains all the tools I commonly use to build my applications. I have called this package BuildTools4Net. Its current version includes the following items:
- MsBuildCommunity Taks
Because of licensing concerns I can not share the my BuildTools4Net installation package, but I am working on script some you can create your own installations package.