我正在查看我在生产服务器中生成的进程转储的报告。Azure应用程序在发布模式下编译并部署到Asp.Net应用程序服务。但是,当我查看生成的报告时,它有一个部分‘在调试模式下编译的模块列表’,我看到很多App_Web_xxxxxxx (其中x是一个随机字符),还有一个名称为Microsoft_Web_Compilation_Snapshots
如果我在发布模式下编译我的应用程序,在调试模式下编译所有这些模块是正常的吗?所有这些App_Web_xxxxxxx模块是什么,它们是预编译的视图还是什么?
发布于 2017-06-03 02:31:20
我们也有同样的问题。查看<system.codedom>的web.config;将/optimize+ /debug-添加到compilerOptions属性。
在此更改之后,程序集从
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]至
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]编辑:为了明确回答您的问题,以下是应用程序中的JIT视图。在运行时,它将编译这些视图。似乎无论您的<system.compilation>设置如何,它都会在调试模式下编译这些设置。下面是我发现的一些似乎相关的讨论:https://forums.asp.net/t/1625220.aspx?Razor+compilation
如果您需要了解这些编译标志的更多信息,可以在here中找到它们(不管怎样,对于c# )。
https://stackoverflow.com/questions/43217281
复制相似问题