次のようなプリプロセッサディレクティブを使用する場合
1 #if(DEBUG)
2 // 1
3 // 2
4 #else
5 // 1
6 // 2
7 #endif
8
9 logger.Debug("Log exception, etc.");
これにより、実行時にログの行番号(スタックトレースなど)が正しくなくなります。上記の例では、残りがプリプロセッサによって解析されるため、行9は4になります。
ログ分析が非常に困難になります。
でメソッドを作成せずにこの問題を解決する方法はありConditionalAttribute
ますか?
私は知っていDebugger.IsAttached
ます(そして私は今このソリューションを使用しています)が、デバッガーが接続されているかどうかではなく、ビルドモード(デバッグ/リリース)に基づいてコードを実行したいと思います。