次のシナリオを検討してください:私はC++ファイルを持っており、そのC++コードをC#から呼び出します。 C++ファイルでは、私はこのフラグは、生産コードで未定義することが、唯一の私のテストコードでは、私はそれらを有効にしたいたいフラグテストコードとプロダクションコードで異なるC++ファイルを使用するにはどうすればよいですか?
#define HasFeature
あります。テストの終了後、私は再びそれが未定義であることを望みます。
コンパイル時の機能であり、実行時に編集することはできません。 別の理由で#defineをクラスメンバーのようなものに変換できません。
2つのファイルを追加すると思いますが、そのうちの1つにフラグが定義されており、そのうちの1つが未定義です。また、test.projではフラグが定義されたファイルを使用し、production.projではフラグは未定義です。それはVisual Studioで可能ですか?もしそうなら、どうすればいいのですか? (たぶんcsprojなどの機能を使用していますか?)
ありがとうございます。
マクロが唯一のオプションである場合(そうでない場合)、プロジェクトの複数のビルドを作成する必要があります。 "ReleaseProduction"のような組み込みのDebugとReleaseの設定を超えて新しい設定を追加する。実行可能ファイルの正しいフレーバーを配備するのはあなた次第です。 –
マクロの他のオプションは何ですか? –