У меня есть сайт, который был и работает:Компилятор исполняемый файл csc.exe не может быть найден в .NET 4.5 Azure развертывание
- ASP.NET 4
- MVC 3
- Entity Framework 4.3
- Запуск в Azure веб-роли (я заметил, что это было osFamily = «1», что странно, как я ожидал, что это будет 2 - но все равно ...)
- Azure SDK 1.7
Я обновил всю свою кодовую базу, чтобы быть в курсе множества новых игрушек. Так что теперь это:
- ASP.NET 4.5
- MVC 4 (Бритва 2)
- Entity Framework 5
- Лазурное конфигурации набор для osFamily = "3"
- Azure SDK 1.8 (с Библиотека хранения клиента кропотливо повышена до 2 не 1.7)
Когда я получить доступ к сайту в постановке я получаю желтый экран смерти, говоря Compiler исполняемого файла csc.exe не найдено. Мой вопрос: Почему?
Он отлично работает на месте, в режиме Release. Я удалился, и в экземплярах определенно работает Windows Server 2012 (поэтому .NET 4.5? Я видел, что это сложно сказать, поскольку .NET 4.5 заменяет сборки .NET 4 в папках .NET 4).
В соответствии с заголовками ответа, это определенно работает IIS 8, но интересно, что он утверждает, что X-ASPNET-VERSION - 4.xxxx. Это нормально для сайта ASP.NET 4?
UPDATE:
Таргетинг рамки .NET 4 и изменил osFamily до 2, и теперь он работает. Поэтому я подозреваю, что у меня есть сторонняя сборка, которая использует .NET 3.5 или 2 (действительно, я уверен, что я это делаю), но уверенно, что при таргетинге на .NET framework выше, чем в ссылках в импортированных сборках, более высокая версия фреймворка используемый??
osFamily = "3" только установил .NET 4 и 4.5, поэтому я предполагаю, что это причина ошибки, но я не прав о таргетинге? Я хочу использовать osFamily = "3", что я могу здесь сделать?
Стек след
[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
Спасибо, Дэвид. Хорошо, мои подозрения верны в версии .NET, но теперь у меня заканчиваются идеи. Я добавил Stack Trace, как было задано. Я замечаю, что Hibernating Rhinos так интересно, если это связано с EF Prof. Я не понимаю, почему, но я могу попытаться избавиться от него. – BritishDeveloper
Ах да, стек интересен, поскольку мы видим, что csc не запускается ASP.NET но HibernatingRhinos. И я вижу, что вы нашли тему на своем форуме, касающуюся этого. Спасибо за наградные очки :) –
David Ebbo! Ты спас меня! У меня также HibernatingRhinos, которые генерируют мне эту ошибку! Спасибо! –