The MSBuild Team recently posted a "wish list" of potential new MSBuild features, and encouraged people to vote on which ones they would like to see in future versions. The results came out last week.
We have a lot of respect for MSBuild here at VSoft Technologies. We're committed to making our own MSBuild support top-notch so you can easily interoperate between FinalBuilder and MSBuild projects. However, I wouldn't recommend MSBuild for end-to-end build automation.
I couldn't help but compare the top ten most popular MSBuild feature requests with existing FinalBuilder features.
1) Debugger
FinalBuilder gives you a full graphical debugging environment - breakpoints, stepping, watches, pause and resume.
You also get a structured log which quickly allows you to move between your project's structure and it's output. No need to scan text log files for line numbers and target names.
2) and 3) These both relate to converting existing non-MSBuild-friendly formats to MSBuild. This problem is more or less bypassed if you use FinalBuilder, because the built-in action types give you "first class" access to building these project types.
4) Visualization
This is another feature that FinalBuilder gives you "out of the box" - FinalBuilder projects are represented as structured trees, and refactoring is often as simple as drag-and-drop.
5) Native Code / VC Support
FinalBuilder has built-in support for Visual C++, at the same level of integration as other tools.
6) Distributed Builds
FinalBuilder doesn't do this either. Yet.
7) Extensible reuseable inline tasks
Every single action in FinalBuilder has extensibility built in via VBScript, JavaScript, and soon PowerShell. (Ssh! Don't tell anyone I told you!) If that's not enough, with ActionStudio you can whip up a custom action type in minutes, using one of these scripting languages or .NET.
For further extensibility, resuseable action lists can be easily created and called from different parts of your project.
8) Multiprocessor Peformance
Async Action Groups let you automatically schedule parts of your build to run in parallel with others, allowing you to take advantage of multiprocessor architectures.
9) Extensible Functions
See No. 7. The inclusion of scripting throughout a FinalBuilder project makes it easy to extend specific fields.
10) (Editing UI)
This is FinalBuilder's core feature. The FinalBuilder IDE gives you a clear graphical layout of your build process, and combined with debugging and structured logging you have a quick and easy way to move between project structure and project output.