For some time now people has been turning to me at my customer for answerers regarding TFS Build. I have learned a great deal from that but sometimes I feel like I haven’t made sure that I understood the underlying thought from Microsoft.
One of those areas is that the TFSBuild.proj-file is not your ordinary MSBuild-file. Or rather; it’s is but is run by Team Foundation Server and you get to configure it and it’s properties. This is what I though and I was actually right. Phew!
There are some properties and targets that you can override in order to customize the build process. You can think of these targets like events being fired, and you can hook into them and customize their actions. And this is quite easy once you know how.
But then I often get the question; “Ok - what can I configure”. I haven’t had a good answer (this was my best so far) but now I found a list of the customable targets and properties.
- Customizable Team Foundation Build Targets (and their run order)
- Customizable Team Foundation Build Properties
Also I found out that any properties you define in the build script can be sent-in as a parameter. Either from the command-line (or textbox for command line arguments in the Visual Studio GUI) or via the .rsp-file. If the already has a value that value will be overridden with the sent-in value. The value you set in the .proj-file can be though of like a default-value.
So - some good finding for a lazy Tuesday mooring in the couch. Abbe is sound asleep and I am doing MSBuild. Life is good.