Compilateur fichier exécutable csc.exe ne peut pas être trouvé .NET 4.5 déploiement Azure

J'ai un site qui était et travaux:

  • ASP.NET 4
  • MVC 3
  • Entity Framework 4.3
  • Cours d'exécution dans un Azure web de rôle (j'ai remarqué que c'était osFamily="1" ce qui est bizarre que j'attendais 2 - mais de toute façon...)
  • Azure SDK 1.7

J'ai mis à jour ma base de code entier pour être à jour avec la pléthore de nouveaux jouets. Alors maintenant, c'est:

  • ASP.NET 4.5
  • MVC 4 (Rasoir 2)
  • Entity Framework 5
  • Azure config ensemble de osFamily="3"
  • Azure SDK 1.8 (avec Stockage de la Bibliothèque du Client minutieusement mis à niveau à 2 pas 1.7)

Lorsque je visite le site dans la mise en scène, je reçois un jaune d'écran de la mort en disant Compilateur fichier exécutable csc.exe ne peut pas être trouvé. Ma question est Pourquoi?

Il fonctionne très bien en local, en mode Release. Je distants et les instances sont certainement exécutant Windows Server 2012 (donc .NET 4.5?? Je l'ai vu il est difficile de dire depuis .NET 4.5 remplace .NET 4 assemblages dans le .NET 4 dossiers).

Selon les en-têtes de réponse, il est certainement exécutant IIS 8 mais intéressant qu'il prétend X-ASPNET-VERSION 4.xxxx. Est-ce normal pour un ASP.NET 4 site?

Mise à JOUR:

J'ai entrepris de le .NET 4 cadre et changé le osFamily à 2 et il fonctionne maintenant. Donc maintenant, je soupçonne que j'ai un 3ème partie de l'assemblée qui l'utilise .NET 3.5 ou 2 (enfait je suis certain que je n') mais sûrement lorsque vous ciblez un .NET framework plus élevés que ceux référencés dans les assemblées de la version supérieure du cadre est-il utilisé??

osFamily="3" seulement .NET 4 et 4.5 est installé, donc je suppose que c'est la raison de l'erreur, mais je ne suis pas à droite sur le ciblage chose? Je veux utiliser osFamily="3" que puis-je faire ici?

Trace de la pile

[InvalidOperationException: Compiler executable file csc.exe cannot be found.]
System.CodeDom.Compiler.RedistVersionInfo.GetCompilerPath(IDictionary`2 provOptions, String compilerExecutable) +8675071
Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch(CompilerParameters options, String[] fileNames) +739
Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch(CompilerParameters options, String[] sources) +3293761
Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch(CompilerParameters options, String[] sources) +64
HibernatingRhinos.Profiler.Appender.Util.GenerateAssembly.Compile(String fileName, String[] sources, IEnumerable`1 assembliesToReference) +1252
HibernatingRhinos.Profiler.Appender.Util.GenerateAssembly.CompileAssembly(IEnumerable`1 sourcesResources, IEnumerable`1 assembliesToReference, String assemblyName) +118
HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.SetupDatabaseDefaultConnectionFactoryIfNeeded() +929
HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.SetupEntityFrameworkIntegration() +80
HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.Initialize(EntityFrameworkAppenderConfiguration configuration) +47
HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.Initialize() +73
Web4.MvcApplication.Application_Start() +17
[HttpException (0x80004005): Compiler executable file csc.exe cannot be found.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +12864673
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +175
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +304
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +404
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +475
[HttpException (0x80004005): Compiler executable file csc.exe cannot be found.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +12881540
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +159
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +12722601

OriginalL'auteur BritishDeveloper | 2012-11-12