1 つのソリューション内の複数の DSL
いくつかの DSL を単一ソリューションの一部としてパッケージ化し、同時にインストールすることができます。
複数の DSL を統合するためにいくつかの手法を使用できます。 詳細については、「Visual Studio Modelbus によるモデルの統合」、「方法: ドラッグ アンド ドロップ ハンドラーを追加する」、および「コピー動作のカスタマイズ」を参照してください。
複数の DSL を同じソリューションの中にビルドするには
2 つ以上の DSL ソリューションと 1 つの VSIX プロジェクトを作成し、すべてのプロジェクトを単一のソリューションに追加します。
新しい VSIX プロジェクトを作成するには、[新しいプロジェクト] ダイアログ ボックスで、[Visual C#]、[機能拡張]、[VSIX プロジェクト] の順にクリックします。
VSIX ソリューション ディレクトリ内に 2 つ以上の DSL ソリューションを作成します。
各 DSL について、Visual Studio の新しいインスタンスを開きます。 新しい DSL を作成し、同じソリューション フォルダとして VSIX ソリューションを指定します。
各 DSL は異なるファイル拡張子名を付けて作成します。
[Dsl] プロジェクトおよび [DslPackage] プロジェクトの名前はすべて異なるように変更します。 たとえば、Dsl1、DslPackage1、Dsl2、DslPackage2 とします。
それぞれの DslPackage*\source.extension.tt で、この行を次に示す正しい Dsl プロジェクト名に更新します。
string dslProjectName = "Dsl2";
VSIX ソリューションで、Dsl* プロジェクトおよび DslPackage* プロジェクトを追加します。
各ペアを独自のソリューション フォルダーに配置することを推奨します。
以下のように DSL の VSIX マニフェストを結合します。
YourVsixProject**\source.extension.manifest** を開きます。
各 DSL に対して、[コンテンツの追加] を選択し、以下のように追加します。
[MEF コンポーネント] として Dsl* プロジェクト
[MEF コンポーネント] として DslPackage* プロジェクト
[VS パッケージ] として DslPackage* プロジェクト
ソリューションをビルドします。
この結果の VSIX では両方の DSL がインストールされます。 F5 を使用してテストするか、YourVsixProject**\bin\Debug\*.vsix** を配置できます。