Eu já cai nessa armadilha mais de uma vez: você envia a aplicação para o Azure e o WebRole fica reiniciando sem parar. Você só resolve isso com Intelitrace (fica pra outro post). Aí percebe que o problema é a dll do MVC 3, coloca ela lá e recebe um monte de páginas amarelas da morte, quer dizer, depois de desabilitar custom errors. Todas indicam falta de alguma dll, e algumas delas nem fazer parte do seu projeto!

Segue aqui uma listinha empírica que montei do que é necessário. Com isso a aplicação roda perfeitamente e você evita ter que passar por essa via crucis.

Estou colocando também os caminhos para uma máquina x64 (Windows 7) pra facilitar.

  • Microsoft.Web.Infrastructure, Version=1.0.0.0, C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\Microsoft.Web.Infrastructure.dll
  • System.Web.Mvc, Version=3.0.0.0, C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll
  • System.Web.Razor, Version=1.0.0.0, C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.Razor.dll
  • System.Web.WebPages, Version=1.0.0.0, C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.WebPages.dll
  • System.Web.Helpers, Version=1.0.0.0, C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.Helpers.dll
  • System.Web.ApplicationServices, Version=4.0.0.0, C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Web.ApplicationServices.dll
  • System.Web.WebPages.Deployment, Version=1.0.0.0, C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.WebPages.Deployment.dll
  • System.Web.Abstractions, Version=4.0.0.0, C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Web.Abstractions.dll
  • System.Web.Routing, Version=4.0.0.0, C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Web.Routing.dll

    As duas últimas imagino que pode não precisar, já que fazem parte do .NET 4.

Giovanni Bassi

Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.