2012-03-01 13 views
2

내 web.config 파일을 작동하지 않는이는 {#는 DEBUG 경우}

<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} 

문제가있는 것을 DEBUG 경우 @ {# } 분기가 실행됩니다. 해당 분기를 @ {# if! DEBUG}로 변경하면 else 분기가 실행됩니다. 왜 이런거야?

감사합니다.

Sachin

답변

3

의 Web.config debug="" 속성은 전처리 심볼에 영향을주지 않습니다.

당신이 직접이 같은 해당 특성을 확인할 수 있습니다 :

var compilation = WebConfigurationManager.GetSection("system.web/compilation") as CompilationSection; 
return compilation != null && compilation.Debug; 

+0

을 (그런 다음, 어떤 클래스의 정적 속성에 넣고 정상 if 성명에서 해당 속성을 확인해야합니다) 어디서 것 이것을 넣은 다음 _Layout.cshtml 파일에서 어떻게 호출합니까? 그렇다면 @ {# if 디버그}는 무엇을 확인합니까? –

+0

'# if'는 정의 된 전 처리기 기호를 검사합니다. 나는 실제로 그것들을 정의 할 곳이 어디인지 알지 못합니다. – SLaks

+0

하지만 쓴 코드는 어디에 넣어야합니까? –