デバッグ ビルドとリリース ビルドの C# 条件付きコンパイル
Visual Studio では、単一プロジェクトでソリューションを構成するときに、構成設定によって決定されます。ビルド モード。通常は「デバッグ」または「リリース」です。ただし、#if/#then/#elif などの条件付きコンパイル ディレクティブを使用する場合、正しい条件が評価されていることを確認することが重要です。
提供されたコード スニペットでは、開発者はデバッグとデバッグを区別することを目的としています。変数のデフォルトを設定するモードを解放します。ただし、コードは構成設定に関係なく「Mode=Debug」を出力します。
この混乱は、Visual Studio の事前定義されたプリプロセッサ シンボルによって生じます。 DEBUG/_DEBUG はデバッグ ビルドに対して自動的に定義され、RELEASE はリリース ビルドに対して自動的に定義されます。これは、コード内で #define DEBUG を定義すると、デフォルトの VS 動作がオーバーライドされ、#if DEBUG 条件が常に true になるように強制されることを意味します。
正しいアプローチは、#define DEBUG ステートメントを削除し、代わりにプリプロセッサに依存することです。 VS で定義されたシンボル。変更されたコードは次のようになります。
#if DEBUG Console.WriteLine("Mode=Debug"); #else Console.WriteLine("Mode=Release"); #endif
条件として DEBUG を使用すると、コードは構成設定に基づいて定義されたプリプロセッサ シンボルをチェックし、デバッグ モードとリリース モードを正確に区別します。
以上がC# で条件付きコンパイルを正しく使用してデバッグ ビルドとリリース ビルドを区別するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。