我的web.config文件包含以下内容
<compilation debug="false" targetFramework="4.0">
<assemblies>
// some assemblies
</assemblies>
</compilation>
在我的Layout.cshtml文件中
@{#if DEBUG}
// include all css and js files
@{#else}
// include the minified and combined versions of the css and js files
@{#endif}
问题是,@{if DEBUG}分支被执行。如果我把那根树枝改成@{If!DEBUG}然后执行else分支。这是为什么?
谢谢。
萨钦
最佳答案
Web.configdebug=""
属性不影响预处理器符号。
您可以直接这样检查该属性:
var compilation = WebConfigurationManager.GetSection("system.web/compilation") as CompilationSection;
return compilation != null && compilation.Debug;
(您应该将它放在任何类的静态属性中,然后在normal
if
语句中检查该属性)