24

デバッグ目的でコードに Debug.WriteLine をたくさん入れました。リリース用にビルドする準備ができたら、これらの Debug.Write はリリース ビルドに影響を与えますか? また、出力先はどこですか?

4

5 に答える 5

19

Debug.WriteLine属性で注釈が付けられConditionalます。( MSDNを参照)

ConditionalAttributeDEBUGは、フラグが指定されていない限り、そのコードを生成しないようにコンパイラに指示します。

于 2012-06-07T17:06:34.250 に答える
15

MSDNから:「ConditionalAttribute属性はDebugのメソッドに適用されます。ConditionalAttributeをサポートするコンパイラは、「DEBUG」が条件付きコンパイルシンボルとして定義されていない限り、これらのメソッドの呼び出しを無視します。ConditionalAttributeがサポートされているかどうか、および構文については、コンパイラのドキュメントを参照してください。条件付きコンパイルシンボルを定義するため。」

したがって、リリース構成にDEBUGシンボルが含まれていない場合、Debug.WriteLine呼び出しはコンパイル中に省略され、出力はありません。

于 2012-06-07T17:10:39.057 に答える
8

それらを切り替えるTrace.WriteLineと、app/web.configファイルで任意のリスナーを定義できます。

于 2012-06-07T17:08:15.960 に答える
6

Debug.Writeline はリリース コードにコンパイルされません。

于 2012-06-07T17:06:49.413 に答える
1

コンパイルされると思います。

于 2012-06-07T17:06:27.360 に答える