Desktop Build

As we all know, developers build their code and test the local binaries before checking it into the source control server. Team Foundation Build, a component of Visual Studio Team System, provides a feature called Desktop Build for the same.


Do we need Desktop Build? Why not we use Visual Studio or msbuild?


Everybody certainly thinks of this question before they get to know the advantage. A simple answer for this question is that by building through Desktop Build, we can have all the advantages of having a Build Type. In simple words, we can specify multiple solutions, multiple configurations, multiple platforms, tests etc. in a Build Type and can build all these solutions for all given platforms/configurations and execute tests with a single command.


Another major advantage is that Desktop Build builds the code with the same portfolio as that of Public Build as the same Build Type is used in both Public and Desktop Builds. There is no question of developer mistakenly using different configurations/platforms, different static analysis options, different testing options from those of the Public Build. If he intends to differ from Public Build, he can always modify his local copy of the Build Type. 


Though the same Build Type is used for both Desktop and Public Builds, Desktop Build is intelligent enough to skip the irrelevant steps like getting the sources from source control, creating work items in case of build failure, dropping the binaries into drop location, storing the build data in database etc. It just executes Compile and Test related tasks.


Have you tried Desktop Build in Visual Studio 2005 Team System Beta2?


If yes, you will have a better experience with Beta3 as the feature has got a better shape now and the things like tests, which weren’t working earlier are working now. You will also find many other changes; all the binaries are dropped into a folder called Binaries, all the test results are dropped into a folder called TestResults, TeamBuild.proj is renamed as TFSBuild.proj etc. Want to know more? Better, experience the product [:)]


Here is how you can Desktop Build.