January 29, 2008

.Net 3.5 support in MSBuild Sidekick v2

Filed under: .NET 3.5,Configuration,MSBuild Sidekick,Multi-targeting — eugenez @ 12:06 pm

In our latest release of MSBuild Sidekick, we provide support for projects compliant with MSBuild 3.5 (which is distributed as part of .Net Framework 3.5). In this post, I shall try to detail some of the features specific to MSBuild 3.5 in our application.

First of all, MSBuild Sidekick will use the highest version of .Net Framework assemblies present at the time of the installation; that is, if you have .Net Framework 3.5 installed, MSBuild Sidekick will use MSBuild 3.5 assemblies for building all projects (with .Net 2.0 it will use MSBuild 2.0 assemblies). In the current version of Sidekick, one needs to repair the installation, or reinstall, if another version of .Net is installed (say 3.5 over 2.0); we plan to change that in the future.

The setting responsible for MSBuild version specific elements in UI is Tools->Options menu, Application Configuration tab, Initial Schema Version property.

When set to 3.5, UI supports MSBuild 3.5 specific elements, namely:

  • ToolsetVersion attribute is available in Project element

  • ItemDefinitionGroup element may be added to the project

  • Remove attribute is available in Item elements

  • ItemGroup/PropertyGroup elements may be placed under targets

  • MSBuild tasks will correspond to version 3.5

Note that the application may still use MSBuild 3.5 assemblies internally (if highest version of .Net Framework available is 3.5) for building the project, even with UI set to 2.0.

The Initial Schema Version defines the UI for every project loaded for the first time (or new one created); by default it is set to 2.0. However, it is possible to specify different version on per project basis – once the project is loaded, Build->Build Options menu, Engine Properties tab, Schema Version property controls MSBuild schema version for the project and overrides the initial setting.

Additionally, the current version of MSBuild Sidekick also supports loading solution files, authored with Visual Studio 2008.

We hope that new MSBuild 3.5-related features in MSBuild Sidekick will make the experience authoring new builds (not forgetting converting the old ones) into enjoyable one.

December 4, 2007

Visualization in MSBuild Sidekick

Filed under: Diagram,MSBuild Sidekick,Visualization — eugenez @ 12:03 pm

I have decided that I am going to blog a bit about new features we have in v2 of our tool; the first feature selected is target visualization.

The rational behind this feature goes like that – what if my build script takes lots of time to execute? Then changing it, running it, changing again to fix issues etc. becomes bothesome very quickly. So ideally one should be able to preview the build script execution (similar perhaps to EXPLAIN PLAN Oracle command, if you know what I mean).

In MSBuild Sidekick v2 we provide Target Diagram view; when project is loaded, the menu “Tools”->”View Targets DIagram” will display visualization screen

When the window first opened, the targets selected for visualization are project default targets. It is possible to select one or more targets different from the defaults.

For the selected target(s), execution tree is displayed graphically; tasks may be shown or hidden using corresponding toolbar button. The graphical diagram may be zoomed in or out, printed or saved to file. The elements on the diagram may be also rearranged; mouse right click on the element will invoke context menu.

On targets and tasks in the diagram there may appear two kinds of additional indicators – whether element is imported (relative to currently loaded project) and whether element has condition defined. For elements with condition set, condition will be eventually evaluated at run-time, diagram indicating what targets/tasks may be skipped due to condition.

Putting the cursor over the element (or selecting element, right-clicking it and selecting info) will show element details such as condition etc. in hint baloon.

We hope that feature will allow MSBuild project developer to gain better understanding of project structure without building it.

« Older Posts

© 2006-2008 Attrice Corporation. Last updated 06-Mar-2009 Contact us