2013-01-03 10 views
6

私はこの単純なコードがあります。メソッドの呼び出しはC#でスキップされますか?

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

しかし、再シャープに悲鳴(無エラーのみお勧め)について:

enter image description here

メソッドの呼び出しがスキップされています。方法は、条件付きである、またはそれは部分的 方法であるため、コンパイラは、私はトレース出力で、この行を見ることができないんだけど、実装

せずにメソッド 呼び出しを生成しません。

ただし、他の痕跡が見えます。

なぜですか?

(p.s.(ウェブサイトプロジェクトの下にあるページ)はtrace="true"です)。 (*「なぜReSharperのは、このことを示唆している」下ReSharperのメニューからリンクされてもよい)the JetBrains wikiを引用する

+0

'trace == true'はTRACEに関連していません –

+0

@HenkHoltermanどういう意味ですか? '<%@ Page Trace =" true "%>'は私にトレースを許可します。 ( –

+0

) 'System.Diagnostics;を使用して削除してください。 –

答えて

18

TRACE定数が現在のビルド構成のためのプロジェクト設定で定義されていることを確認してください。

enter image description here

UPDATE

それはウェブサイトのプロジェクトなので、トレース・シンボルが定義されているように、あなたはGlobal.asax.csの上部に

#define TRACE 

を置くことができます。

+0

私はウェブサイトにいます...それはこのメニューを持っていません。 –

+0

@RoyiNamirが更新されました。申し訳ありませんが、最初はウェブサイトプロジェクトであることを知らなかった – mlorbetske

+0

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

2

コーディングしながら、あなたはその 呼び出し生成されないメソッドに関する警告が発生する可能性がありますコンパイラによって。それはなぜでしょうか? 典型的なケースはコンパイルされない条件付きメソッドです(例: [ReSharperInt:Conditional("DEBUG")]とマークされ、 RELEASEモードです)。メソッドがスキップされるもう1つの理由は、ある時点で のボディがpartialと宣言され、 の実装が提供されていないということです。

これは、Traceの方法に基づいているため、これらの典型的なケースの最初のものが適用されるものであることをお勧めします。

*私はV7持っていない、まだ

+1

1)私のグローバルなasaxファイルは部分的ではありません。 2)I;デバッグモードのm。 –

関連する問題