Why should I use MSBuild instead of Visual Studio Solution files?
- by Sid
We're using TeamCity for continuous integration and it's building our releases via the solution file (.sln). I've used Makefiles in the past for various systems but never msbuild (which I've heard is sorta like Makefiles + XML mashup). I've seen many posts on how to use msbuild directly instead of the solution files but I don't see a very clear answer on why to do it.
So, why should we bother migrating from solution files to an MSBuild 'makefile'? We do have a a couple of releases that differ by a #define (featurized builds) but for the most part everything works.
The bigger concern is that now we'd have to maintain two systems when adding projects/source code.
UPDATE:
Can folks shed light on the lifecycle and interplay of the following three components?
The Visual Studio .sln file
The many project level .csproj files (which I understand an "sub" msbuild scripts)
The custom msbuild script
Is it safe to say that the .sln and .csproj are consumed/maintained as usual from within the Visual Studio IDE GUI while the custom msbuild script is hand-written and usually consumes the already existing individual .csproj "as-is"? That's one way I can see reduce overlap/duplicate in maintenance...
Would appreciate some light on this from other folks' operational experience