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.