2013-10-30 29 views
8

嘗試使用Visual Studio中的IFDEF DEBUG常數我在一個.NET Framework 4.5不起作用,ASP.NET MVC 4在Visual Studio 2012中的DEBUG常量不會激活

我確信:

  • 「定義DEBUG常數」 在項目屬性檢查的調試配置
  • 在Web.config不包括<compilation debug="true"...

的代碼我用驗證節目isDebug =假,無論是在IDE和在運行時,即使我的調試配置下運行:

bool isDebug; 
#if DEBUG 
    isDebug = true; 
#else 
    isDebug = false; 
#endif 

這是Visual Studio中的屏幕帽,顯示我有調試配置活躍,但在代碼中,顏色突出顯示DEBUG未定義。

if DEBUG isDebug=true else isDebug=false

我一定是失去了一些東西!

編輯: Properties-window

+1

請覈實,你必須檢查「定義DEBUG常數」,配置下拉菜單設置爲「調試」 –

+0

@RobertLevy感謝。我再次驗證它,並且它在Debug-configuration(在屬性窗口內)。 – cederlof

+1

什麼是您的解決方案的_Active config_屬性值? –

回答

8

號你不能延伸請與#if DEBUG了DEBUG常數文件.cshtml

+1

任何關心找出*爲什麼*這是這種情況? :)也許ASP.NET編譯器不支持條件常量? – bzlm

3

這:什麼樣的屬性窗口顯示生成視圖屏幕截圖是由設計。

這些指令只是編譯時間。 CSHTML(和其他ASP.NET頁面)在運行時(在Web服務器上)編譯,因此您在VS中選擇的指令不會影響它們。

查看信息CSHTML does not recognize project level compilation symbols微軟連接