MSBuild–Workflow via items

  In an earlier installment, I covered using MSBuild item metadata to serve as the high-level definition (name) of behaviour. This post will continue, where the previous left off, and show how the continuous overwriting of items can be used to simulate conditional method invocation inside a MSBuild program. Now to the code: <Project    …


MSBuild–Target Dispatch via Metadata

  In a (somewhat) recent post, I elaborated on using ItemDefinitionGroup to create the blueprint for a class of items, i.e. the items based on that blueprint. As mentioned, one could see an instance of such an item as an object instantiation of its underlying class, i.e. the ItemDefinition. Now, while item properties actually make…


MSBuild ItemDefinitionGroup

  Quite recently, I have to admit, I found that MSBuild has been enhanced (in Version .NET 3.5) with so called ItemDefinitionGroup elements. According to MSDN “The ItemDefinitionGroup element lets you define a set of Item Definitions, which are metadata values that are applied to all items in the project, by default.” This makes one…


MSBuild 4.0 Inline Task

  The previous posting made use of property functions to allow for non-standard build steps within an MSBuild project. However, MSBuild added another extensibility mechanism – Inline tasks, which, good or bad, allows for direct integration/ injection of any custom logic explainable in .NET CodeDom language (C#, VB, etc.) into a MSBuild project. An Inline…

1

MSBuild 4.0 Property Functions

  In a community presentation I gave more than a year ago, I made the case for MSBuild being a somewhat complete programming language. The rationale was and still is MSBuild’s support for (global) variables, methods and (faked) recursion. I always wanted to build a simple "calculation” example but never did, since to my knowledge…