2013-01-03 55 views
6

我有這個簡單的代碼:在C#中跳過方法調用?

void Application_BeginRequest(object sender, EventArgs e) 
    { 
     Trace.Write("Exception Handling", "......"); 
    } 

但是重新清晰尖叫(無差錯只能建議)約:

enter image description here

方法調用被跳過。編譯器不會產生方法 調用,因爲該方法是有條件的,或者是不執行

部分 方法,我無法看到在跟蹤輸出這一行。

但是 - 其他痕跡 - 我明白了。

這是爲什麼?

(p.s.頁面(在網站項目下)有trace="true")。

+0

'trace == true'與TRACE –

+0

@HenkHolterman無關你是什麼意思? '<%@ Page Trace =「true」%>'允許我追蹤。 (你能解釋一下嗎?) –

+0

刪除'使用System.Diagnostics;' –

回答

18

要確保TRACE常數在您的項目設置中定義爲當前構建配置。

enter image description here

UPDATE

因爲它是一個網站項目,你可以把

#define TRACE 

Global.asax.cs的頂部,使得跟蹤符號被定義。

+0

我在網站...它沒有這個菜單。 –

+0

@RoyiNamir @RoyiNamir更新,對不起,最初不知道它是一個網站項目 – mlorbetske

+0

http://i.stack.imgur.com/msKVj.jpg –

2

引述the JetBrains wiki(可能*可以在「爲什麼ReSharper的建議這種」掛在ReSharper的菜單):

雖然編碼,你可能會遇到關於其 調用將不會生成方法警告由編譯器。爲什麼會這樣? 典型案例是不會編譯的條件方法(例如, 它標記爲[ReSharperInt:Conditional("DEBUG")],而您處於 RELEASE模式)。一種方法可能會被跳過的另一個原因是, 在某些時候,它的主體被聲明爲partial,並且沒有提供 實現。

鑑於這是在Trace的方法,我建議這些典型案例的第一個是適用的。

*我沒有得到V7還

+1

1)我的全局asax文件不是部分。 2)我在調試模式下。 –