Dec 10, 2010 2:18 PM
There are a lot of reasons why an Azure role may fail to start, and it’s not easy to figure out what the problem is. Since the role hasn’t started there is no diagnostic information to see. The portal just infinitely cycles through states of initializing, busy, and aborted.
There is information about potential causes of these issues here and here.
I’ve been bitten by this when using MVC3 and other third-party assemblies; a failure to include these in the install package might be the most likely cause of a failure during role initialization (as opposed to difficulty at the IIS level, which usually manifests as an error message when accessing the site.) The solution in this case is to set ‘Copy Local’ to true for any assemblies you reference that aren’t part of the default .NET framework installation.
If you’ve got the money to drop on Visual Studio 2010 Ultimate, then you can use intellitrace to debug startup issues.
Without intellitrace or other diagnostic information, we’re left blindly going through the list of potential problems and attempting deployments until we get our role to start. My suggestion is to deploy to staging on a regular basis, and after any structural, service, or dependency changes to the application, in order to limit the number of changes that might have caused a problem.