The Friendly Coder

On software development and technology

MSBuild Gotchas: Traversed Static Item Evaluation

If you know anything about MSBuild, you know that knowing the order of evaluation for properties, items and such is critical. But how does the order of evaluation work when chaining control to other scripts using the task (otherwise known as script traversal)? The answer may surprise you.

MSBuild: Visual Studio Intellisense

Visual Studio has shipped with built-in Intellisense support for MSBuild for several years, however anyone who has used either of the two commonly used add-on packs (the Community Tasks and the Extension Pack) has undoubtedly noticed that these custom tasks are not natively supported. Further, anyone who has gone digging will notice that these projects either explicitly do not support intellisense or simply do not make it obvious how to set it up. As such I have taken the liberty of doing the leg work needed to get these working and decided to make my findings public on todays post.


MSBuild Gotchas: Task Batching

Look at the following two statements: <Message Text=”Value = ‘@(SourceFiles)”/> and <Message Text=”Value = ‘@(SourceFiles)” Condition=”%(SourceFiles.identity)!=””/>? If you don’t know why these two statements give different outputs then you need to read on.