Recently, I was deploying an MVC 3 Application on Windows Azure. The deployment took longer than expected and the Roles were just restarting/repairing and it couldn’t just start the role instances. Only thing that seemed to have worked was uploading the Packages. Post that, the Roles were simply unable to start and be ready. I deleted the deployment, re-created the package and deployed. Still no avail. It would successfully upload the package but post that the roles would never be able to start. They will just keep getting recycled.
I then figured out that MVC 3 is not supported in Windows Azure yet and in fact, you need to explicitly add MVC 3 assemblies to the bin folder or have MVC 3 installed as a start up task along with your Windows Azure project.
Steve Marx has an excellent post (and to the point, of all the posts I read) on getting MVC 3 installed as a start up task on Windows Azure, at http://blog.smarx.com/posts/asp-net-mvc-in-windows-azure
Just follow the instructions and you should be fine to have your MVC 3 Application running on Windows Azure.
Cheers!!