Installing of SDKs, Visual Studio and additional toolsets on build machines

Why build machines need the actual SDKs installed, not just referenced targets, for MSBuild to reliably build Silverlight and web-application projects.

Last week I get the information directly from Microsoft, that at build machines SDKs must be installed to guarantee that MSBuild works well in some circumstances.

We have the problem, that a self-containing build should include all necessary build artifacts – particularly Silverlight stuff. I tried to encapsulate the special steps in own targets and a build was finally possible (see my former posts). But at local machines without installed Silverlight stuff it gives problems for problems. Because reason of time finally I decide to go the Microsoft way – they break my volition.

Only one thing I left in my DevTree: the WebApplication target. This stuff is not included in the Silverlight SDK – no idea where it comes from. To avoid the build breaks on our continuous integration server I reference this target in my DevTree self.

These lines:

  <ImportGroup Condition=" '$(Configuration)' == 'Debug' ">
    <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
  </ImportGroup>

  <ImportGroup Condition=" '$(Configuration)' != 'Debug' ">
    <!-- leider nicht von Visual Studio akzeptiert -->
    <Import Project="..\..\..\tools\WebApplications\Microsoft.WebApplication.targets" />
    <!-- -->
  </ImportGroup>