我有一个网站,它曾经是这样的并且可以运行:
- ASP.NET 4 - MVC 3 - Entity Framework 4.3 - 运行在 Azure Web 角色中(我注意到它的 osFamily="1",这很奇怪,因为我希望它是2,但无论如何...) - Azure SDK 1.7
我已经升级了整个代码库,使其与各种新玩具保持最新。现在它是:
- ASP.NET 4.5 - MVC 4 (Razor 2) - Entity Framework 5 - Azure 配置设置为 osFamily="3" - Azure SDK 1.8(Storage Client Library 被痛苦地升级到了 2 而不是 1.7)
当我在暂存环境中访问该网站时,我会看到一个黄色的死亡屏幕,上面写着“编译器可执行文件 csc.exe 找不到”。我的问题是为什么?
本地和发布模式下都可以正常工作。我远程连接进去后,发现实例肯定在运行 Windows Server 2012(因此是 .NET 4.5 吗?我看到很难判断,因为 .NET 4.5 替换了 .NET 4 文件夹中的 .NET 4 组件)。
根据响应头,它肯定正在运行 IIS 8,但有趣的是它声称 X-ASPNET-VERSION 是 4.xxxx。对于一个 ASP.NET 4 网站来说,这是正常的吗?
更新:
我将 .NET 4 框架作为目标,并将 osFamily 更改为 2,现在可以工作了。因此,我现在怀疑我有一个使用 .NET 3.5 或 2 的第三方程序集(实际上我确定有),但是当针对比导入程序集中引用的 .NET 框架更高的 .NET 框架时,不应该使用更高版本的框架吗?
osFamily="3" 只安装了 .NET 4 和 4.5,所以我想这就是错误的原因,但是我的针对是否正确呢?我想使用 osFamily="3",我该怎么办?
堆栈跟踪:
- ASP.NET 4 - MVC 3 - Entity Framework 4.3 - 运行在 Azure Web 角色中(我注意到它的 osFamily="1",这很奇怪,因为我希望它是2,但无论如何...) - Azure SDK 1.7
我已经升级了整个代码库,使其与各种新玩具保持最新。现在它是:
- ASP.NET 4.5 - MVC 4 (Razor 2) - Entity Framework 5 - Azure 配置设置为 osFamily="3" - Azure SDK 1.8(Storage Client Library 被痛苦地升级到了 2 而不是 1.7)
当我在暂存环境中访问该网站时,我会看到一个黄色的死亡屏幕,上面写着“编译器可执行文件 csc.exe 找不到”。我的问题是为什么?
本地和发布模式下都可以正常工作。我远程连接进去后,发现实例肯定在运行 Windows Server 2012(因此是 .NET 4.5 吗?我看到很难判断,因为 .NET 4.5 替换了 .NET 4 文件夹中的 .NET 4 组件)。
根据响应头,它肯定正在运行 IIS 8,但有趣的是它声称 X-ASPNET-VERSION 是 4.xxxx。对于一个 ASP.NET 4 网站来说,这是正常的吗?
更新:
我将 .NET 4 框架作为目标,并将 osFamily 更改为 2,现在可以工作了。因此,我现在怀疑我有一个使用 .NET 3.5 或 2 的第三方程序集(实际上我确定有),但是当针对比导入程序集中引用的 .NET 框架更高的 .NET 框架时,不应该使用更高版本的框架吗?
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