1. ホーム
  2. c#

[解決済み] C#のif/thenディレクティブによるデバッグとリリースの比較

2022-03-20 06:55:20

質問

ソリューションのプロパティで、私の唯一のプロジェクトに対して、構成を "release" に設定しています。

メインルーチンの最初に、このコードがあり、"Mode=Debug"と表示されています。 また、一番上にこの2行があります。

#define DEBUG 
#define RELEASE

正しい変数をテストしているのだろうか?

#if (DEBUG)
            Console.WriteLine("Mode=Debug"); 
#elif (RELEASE)
            Console.WriteLine("Mode=Release"); 
#endif

私の目標は、デバッグモードとリリースモードに基づいて、変数に異なるデフォルトを設定することです。

どのように解決するのですか?

DEBUG / _DEBUG は、すでにVSで定義されているはずです。

を削除します。 #define DEBUG をコードに追加してください。その特定のビルドのために、ビルド構成でプリプロセッサを設定します。

Mode=Debug"と表示されるのは、あなたの #define をスキップして elif .

正しいチェックの仕方は

#if DEBUG
    Console.WriteLine("Mode=Debug"); 
#else
    Console.WriteLine("Mode=Release"); 
#endif

をチェックしない。 RELEASE .