web-dev-qa-db-ja.com

1つのVisualStudioプロジェクトから2つの異なる実行可能ファイルを作成する方法

構成ファイルに保存された設定に基づいて実行されるメインの実行可能ファイルがあります。別の実行可能ファイルを使用して構成ファイルの設定を変更できるようにしたい。

これら2つの異なる実行可能ファイルを1つのWindowsフォームプロジェクトで構築する簡単な方法はありますか?つまり、ビルドを押すと、2つの異なるEXEファイルが同じソリューションフォルダーに作成されます。1つは構成ファイルを変更し、もう1つはそれを使用します。

同じソリューションフォルダーを使用する2つの別々のプロジェクトを作成すれば、これが可能であることはわかっていますが、すべてを1つのステップで実行したいと考えていました。

これを行うには、2つの「メイン」機能を備えたプロジェクトが必要だと思います。これは可能ですか?

9
Gevo12321

1つのソリューションで必要な数のアセンブリを構築できます。アセンブリは、DLLファイルまたはEXEファイルになる可能性があります。

ソリューションを作成します(または既存のソリューションを開きます)。

  1. ソリューションエクスプローラーでルートノードを右クリックし、追加新しいプロジェクトを選択します)追加するプロジェクトタイプを選択します。

  2. ソリューションエクスプローラーでプロジェクトアイテムを右クリックし、プロパティビルドを選択します→出力パス。ビルド先の目的のディレクトリに設定します。他のプロジェクトについてもこれを繰り返します。

このようにして、ソリューションエクスプローラーで次の情報を取得します。

  • MySolution
    • MyCommonCode(クラスライブラリ、結果はMyCommonCode.dll)
    • MyMainApp(Windowsフォームアプリケーション、結果はMyMainApp.exe)
    • MyConfigApp(Windowsフォームアプリケーション、結果はMyConfigApp.exe)

MyCommonCodeアセンブリには、構成ファイルの識別子など、両方のEXEファイルが使用している共有コードが含まれています。

MyMainAppは、MyComonCodeプロジェクトへのプロジェクト参照を持つメインアプリケーション用のGUIアプリケーション(Windowsフォーム、WPFなど)です。

MyConfigAppは、MyCommonCodeプロジェクトへのプロジェクト参照を使用して構成値を編集するためのGUIアプリケーションです。

ソリューションを構築すると、次のバイナリが得られます。MyCommonCode.dllMyMainApp.exe、およびMyConfigApp.exe

コメントに基づいて更新:

1回のコンパイル実行で、プロジェクトごとに1つのバイナリ(DLLまたはEXE)のみをビルドできます。上記の答えのようなことを行うことができます:ほとんどのコードをcommon/core DLLに移動し、中央のcommon /を「構成して使用」するだけの2つのEXEファイル用に2つのシンプロジェクトを作成します。コアDLLファイル。

コンパイラ定義を使用して、同じプロジェクトに基づいて異なるEXEファイルをビルドできます。独自の定義を定義することもできます。ただし、コンパイル実行ごとに、プロジェクトごとに1つのバイナリ(DLL、EXE)のみをビルドできます。どちらか一方のみですが、両方をビルドすることはできません。

12
Marc

構成ファイルの考え方は、複数の実行可能ファイルを作成する必要がないということです。 ;-)

Configuration Managerを使用して、新しいSolution configurationを作成し、その構成の出力ディレクトリを変更できます。

0