ビルド時に定義されたフラグに応じて、2 つの異なるアプリを作成するソース ベースがあります。Makefile を使用してこれらのアプリの両方をビルドできます。1 つはフラグを使用してコンパイルするターゲット、もう 1 つはフラグを使用せずにコンパイルするターゲットの 2 つを指定し、両方をビルドする集約ターゲットを指定します。
Windows の Visual C# Express から同等のことを行うにはどうすればよいですか?
ビルド時に定義されたフラグに応じて、2 つの異なるアプリを作成するソース ベースがあります。Makefile を使用してこれらのアプリの両方をビルドできます。1 つはフラグを使用してコンパイルするターゲット、もう 1 つはフラグを使用せずにコンパイルするターゲットの 2 つを指定し、両方をビルドする集約ターゲットを指定します。
Windows の Visual C# Express から同等のことを行うにはどうすればよいですか?
同じフォルダーに 2 つのプロジェクト ファイルを含む 1 つのソリューションを作成します。ソリューションに 2 つの異なる構成を設定します。1 つはプロジェクトの 1 つを構築し、もう 1 つは他のプロジェクトを構築します。
または、常に中間バイナリにビルドする 1 つのプロジェクトを作成し、フラグに応じてそれを最終バイナリにコピーするビルド後のステップを作成することもできます。
Express バージョンについて正確にはわかりませんが、Visual Studio には、Build->Batch Build
すべての構成を一度に構築するためのメニュー項目があります。
複雑なビルド出力シナリオがある場合、Visual Studio を簡単に操作できるとは思いません。このような状況で私が通常行うことは、NAntをCruiseControl.Netのような継続的統合ツールと共に使用することです。同じ NAnt スクリプトを使用して、プロジェクトの出力をローカルでビルドすることもできます。
NAnt スクリプトは、本質的に、より多くの機能を備えた Xml ビルド ファイルです。
リリース vs デバッグ? 独自のカスタム構成を作成することもできます。しかし、構成に基づいてまったく異なるアプリを構築することは、悪い考えのように思えます。
通常のビジュアル スタジオでは、1 つのソリューションに複数のプロジェクトを含めることができます。これを Express エディションに押し込む方法があると思います (おそらく、別の場所で作成されたソリューションを開くことによって)。
ただし、実際には、一度に Visual Studio の 2 つのインスタンスを開いたままにしておく必要があるかもしれません。必要に応じて、いつでも一方を他のプロジェクトの /bin/Release/ フォルダーに直接ビルドするように設定できます。