Updates to Windows Azure MSBuild post for SDK 1.5

Just a quick note that I’ve edited my previous post Using MSBuild to deploy to multiple Windows Azure environments based on some changes to the platform that have come with the Windows Azure SDK 1.5 and Windows Azure PowerShell cmdlets 2.0.

The main changes are to the MSBuild targets added to the .ccproj file:

  • The default service configuration file has been changed to ServiceConfiguration.cloud.cscfg
  • A new property <PackageForComputeEmulator> was added and set to true. This is counterintuitive as I’m not packaging for the compute emulator, but this is required to enable packaging of a default web site without specifying the phyiscalDirectory. If you don’t include the <PackageForComputeEmulator> setting, you may see an error in your build output like “error CloudServices077: Need to specify the physical directory for the virtual path 'Web/' of role WebRole1”.
  • The location of the generated package has moved from previous releases. Rather than specify my own property for this I’m now reusing $(PublishDir) which is set by the built-in CorePublish target.

The only other change I made to the post was to update the PowerShell script to use the new snap-in name that came with the Windows Azure Platform PowerShell cmdlets 2.0 – it’s now called WAPPSCmdlets instead of AzureManagementToolsSnapIn.

Note that I haven’t revisited the documented approach to transforming configuration files. You may want to check out Joel Forman’s post for some tips on how to do this with latest SDK.