Visual Studio 2010では、プロジェクトのプロパティに移動して[ビルド]タブに移動すると、「TRACE定数の定義」チェックボックスが表示されます。 #define TRACEを実行するのと同じことです。.NET/Visual StudioでTRACE定数を定義する
System.Diagnostics.Traceのすべてのメソッドの周囲に[Conditional("TRACE")]
があります。
私の質問はなぜあなたはこれをオフにしますか?つまり、トレースリスナーが定義されていない場合は、ログや何かを埋めるようなものではありません。それはちょうど私に不思議な感じです。 Traceを呼び出すための努力をしているのであれば、なぜApp/Web.configで制御したくないのでしょうか?代わりに、コンパイラスイッチを使って制御してください。再コンパイル。
何か不足していますか?確かに、それはパフォーマンスにとって悪いことはできませんよね?
リスナーがない場合でも、Trace()を呼び出すことはできません。それを非常に高価にすることは困難ではない。 –
私は十分に細かいとは思わない。デバッグでは、すべての情報(情報、冗長など)が必要な場合があるのに対し、特定の種類のイベントのみをログに記録したい場合があります(警告、エラー)。 TRACE_ERROR、TRACE_VERBOSEなどがあります。 – luksan
TRACEの詳細とビルドの最適化については、http://stackoverflow.com/questions/6911863/setting-up-ac-sharp-application-for-max-performance-buildを参照してください。 。 – MBentley