次のシナリオを考えてみてください: C++ ファイルがあり、その C++ コードを C# から呼び出します。C++ ファイルには、フラグがあります。
#define HasFeature
このフラグを本番コードで未定義にしたいのですが、テストコードでのみ有効にしたいと思います。テストのファイナライズ後、再び未定義にしたい。
これはコンパイル時の機能であり、実行時に編集できないことはわかっています。別の理由で #define をクラス メンバーのようなものに変換できません。
2 つのファイルを追加することについて考えられることの 1 つは、そのうちの 1 つでフラグが定義され、そのうちの 1 つでフラグが未定義であり、test.proj でフラグが定義されたファイルを使用し、production.proj でフラグが未定義のファイルを使用することです。それは Visual Studio で可能ですか? もしそうなら、どうすればできますか?(多分 csproj などでいくつかの機能を使用していますか?)
前もって感謝します。