コンテナとしてのソリューション
更新 : 2007 年 11 月
Visual Studio では、統合開発環境 (IDE: Integrated Development Environment) のさまざまなツール、デザイナ、テンプレート、および設定を活用できるように、ソリューションとプロジェクトという概念上のコンテナが実装されています。また、Visual Studio は、関連するプロジェクトをグループとして管理するためのソリューション フォルダを備え、それらのグループに対して処理を実行できるようになっています。
プロジェクトには、一連のソース ファイルと、関連するメタデータ (コンポーネントの参照やビルドの命令など) が含まれます。一般に、プロジェクトをビルドすると、1 つ以上の出力ファイルが生成されます。ソリューションには、1 つ以上のプロジェクトと、ソリューション全体を定義するためのファイルとメタデータが含まれています。
Visual Studio では、新しいプロジェクトを作成すると、自動的にソリューションが生成されます。その後、必要に応じて他のプロジェクトをソリューションに追加できます。ソリューション エクスプローラにはソリューション全体がグラフィカルに表示されるため、アプリケーションの開発中に、ソリューション内のプロジェクトやファイルを管理するのに役立ちます。
プロジェクトを含まない空のソリューションを作成することもでき、Visual Studio のエディタとデザイナを使用して、スタンドアロンのファイルを編集できます。ソリューション エクスプローラには、プロジェクト項目以外の項目を含めるためのフォルダもあります。
ソリューション
ソリューションは、関連する一連のプロジェクトが、Visual Studio によってどのように構成、ビルド、配置されるかを管理するしくみを提供します。Visual Studio のソリューションには、単一のプロジェクトを含めることも、開発チームにより共同でビルドされる複数のプロジェクトを含めることもできます。複雑なアプリケーションでは、複数のソリューションが必要になる場合もあります。
ソリューション ビルド構成を使用すると、アプリケーションのビルドや配置の方法を、特定のユーザー グループを対象としたさまざまなバージョンごとに指定できます。たとえば、開発者やテスト担当者のためのデバッグ ビルドと、パートナーやエンド ユーザーのためのリテール ビルドを構成することもできます。ソリューション ビルド構成の作成と使用の詳細については、「[構成マネージャ] ダイアログ ボックス」および「Visual Studio でのビルド」を参照してください。
利点
ソリューションを使用すると、プロジェクト ファイル、コンポーネント、およびオブジェクトの細かな管理に煩わされることなく、プロジェクトの開発と配置に集中できます。Visual Studio のソリューションごとに次のようなことができます。
IDE の同じインスタンスで複数のプロジェクトを操作する。
プロジェクトのセット全体に適用される設定やオプションを使って項目を操作する。
アプリケーションの開発や配置にソリューション エクスプローラを活用する。
ソリューションやプロジェクトのコンテキストの外で開かれる追加ファイルを管理する。
定義ファイル
Visual Studio では、ソリューションの定義を .sln と .suo の 2 つのファイルに格納します。以前のバージョンの Visual Studio では、グループ (.vbg) ファイル (Visual Basic の場合) やワークスペース (.dsw) ファイル (Visual C++ の場合) が使用されていました。
ソリューション定義 (.sln) ファイルには、ソリューションを定義する以下のメタデータが格納されます。
ソリューションに関連付けられているプロジェクト
特定のプロジェクトに関連付けず、ソリューション レベルで使用する項目
それぞれの種類のビルドにどのプロジェクト構成を適用するかを設定するソリューション ビルド構成
ソリューションを作成したりソリューションのプロパティを設定したりすると、.suo ファイルにメタデータが格納され、ソリューションがアクティブになるたびに、格納されたメタデータに基づいて IDE がカスタマイズされます。たとえば、ソリューションの [その他のファイル] フォルダは、そのフォルダのオプションが有効になっている場合にだけソリューション エクスプローラに表示されます。またツールボックスでは、そのソリューションに含まれているプロジェクトの種類に基づいて、どのツールが使用できるようになるかが決まります。
メモ : |
---|
.sln ファイルは、開発チームのメンバ間で共有できます。.suo ファイルはユーザーに固有のファイルであり、開発者間で共有することはできません。 |
参照
処理手順
概念
参照
[ビルド/実行] ([オプション] ダイアログ ボックス - [プロジェクトおよびソリューション])
[全般] ([オプション] ダイアログ ボックス - [プロジェクトおよびソリューション])