ソリューションは、Visual Studio の概念です。ソリューションは、アプリケーションの作成のために連動する 1 つ以上のプロジェクトを格納するコンテナーです。ソリューションを多数のプロジェクトに分割すると、次のような利点があります。
- 複数のユーザーが 1 つのソリューションで作業できます。分割されたプロジェクトを各ユーザーが操作します。
- ソリューションを複数の小さいプロジェクトに分割すると、処理が簡単になり、ビルドが高速化されます。
- ソリューション内のプロジェクトは、それぞれプログラミング言語が異なっていても構いません。そのため、アプリケーションを多数のプロジェクトに分割すると、複数の言語が混在するプログラミングを利用できます。
- ソリューションには複数のプロジェクトを含めることができるため、マネージ コードとしてコンパイルされたものと、ネイティブ COBOL としてコンパイルされたものが混在します。そこで、各種の相互運用方法を使用して、ネイティブ COBOL とマネージ COBOL を組み合わせることができます。
ソリューションの拡張子は .sln です。ソリューションは、人間が理解できるテキスト ファイルで、編集が可能です。ただし、編集する場合は、Visual Studio IDE を使用することを推奨します。
COBOL プロジェクトの拡張子は .cblproj です。こちらも人間が理解できる msbuild ファイル形式です。詳細については、Visual Studio のヘルプを参照してください。種類の異なるプロジェクトには個別の拡張子が付きます。たとえば、C# プロジェクトの拡張子は .csproj です。
テンプレートは、COBOL プロジェクトの種類ごとに用意されています。各テンプレートを使用して、プロジェクトを格納するのに適したファイル構造を作成でき、ビルド設定も定義できます。たとえば、次のような COBOL プロジェクト テンプレートが提供されます。
- Windows フォーム アプリケーション(マネージ コード):空の Windows フォームおよびフォームの背後のスケルトン COBOL コードを作成します。また、System.Windows.Forms などの必要な .NET Framework クラスをプロジェクト参照に追加し、デフォルトのプロジェクト プロパティを作成します。
- コンソール アプリケーション(ネイティブ COBOL):コンソール アプリケーションの作成に必要なアイテムを追加します。コンソール アプリケーションは、通常、グラフィック ユーザー インターフェイスなしに設計し、独立した実行ファイルとしてコンパイルします。コンソール アプリケーションは、コマンド ラインから実行し、コマンド プロンプトと実行中のアプリケーションの間で入出力情報を交換します。
- クラス ライブラリ(マネージ コード):再利用可能なクラスとコンポーネントが作成されます。これらのクラスとコンポーネントは、他のオブジェクトと共有できます。通常は、.dll ファイルにビルドされます。
- Windows Presentation Foundation(WPF)および Windows Communication Foundation(WCF)(マネージ コード)のテンプレート
ソリューションとプロジェクトの詳細については、Visual Studio のヘルプを参照してください。