Faisal Mohamood, a good friend, former colleague and more recently PM on the MS Build team, gave a great lunch session on the new MS Build System. It was originally scheduled for Day 1, but moved because the keynote ran so long.

MS Build is the new build engine that ships with VS.NET 2005. It is based on a fully open and published XML file format and is completely customizable.

You can extend the build process with managed code - adding your own tasks & loggers, for example. And more importantly, you no longer need VS.NET to build projects. (While it's true you could compile with just the SDK in the past, you couldn't compile existing projects).

MS Build is built around three core concepts:

  • Items
  • Properties
  • Targets

Items are build artifacts on disk that can have rich metadata. Properties are statically defined scalars that can be used throughout the build process. The engine itself exposes a lot of built-in metadata.

Targets are actions that can happen. You can use a predefined set of targets or define your own custom ones. VS.NET itself uses MS Build, simply defining a set of default targets for compiling, copying to the bin\debug folder, and so on.

The only major drawback of MS Build now is that it doesn't work with VS.NET 2003, so it can only be used to build CLR 2.0 applications at this point.

blog comments powered by Disqus