views:

165

answers:

4

In our project, we have about 70 C# Projects. We need to deploy the components to development server. I'm wondering if there is any standalone tool which aids this process, rather than building each project one by one, or creating a VS Solution containing all the projects.

What I'm picturing is a simple application where I enter the .csproj files path, enter the .dll destination path, select configuration mode (release/debug) and then, start the building process. Defining the compilation order would also be sweet.

Any reference will be appreciated.

+4  A: 

There are several build tools for .NET.

One of them is MSBuild, which is what comes with Visual Studio - project and solution files are MSBuild build files.

It also has a very large amount of community tasks that will achieve quite a lot for you.

NAnt is a community build tool that came before MSBuild and is very mature.

Check out this question (Best .NET build tool) for more information.

Oded
+1  A: 

You can use NAnt for this task. Or you can use MSBuild as well, although it is not open-sourced, it is distributed with .NET framework

Igor Korkhov
+1 I have used NAnt myself, started 5 years ago. It's a very configurable build system for .NET and Visual Studio environment.
mloskot
+1  A: 

Google's GYP project (Generate Your Project) may be of use to use as well. It will generate VS projects for you (on Windows), xcode (on Mac) and scons (on Linux).

jeffamaphone
+2  A: 

OK, I know this is slightly off topic, but...

When you have that many projects, you may also want to look at a dedicated build server. This is a server that executes the build scripts defined by MSBuild or Nant (in my view MSBuild is a much better option).

There are many options for build servers:

  • Cruise Control is open source and free
  • TeamCity is commercial but is free up to a certain number of build configurations

TeamCity is very easy to get up and running if you have MSBuild or NANT scripts set up to build your projects. All you need is some hardware to run it on. Both TC and CC will integrate with all major source control repositories such as SVN, VSS, etc and detect changes to your code and automatically run a build.

Steve