可以包多个 DSL 为单个解决方案的一部分,以便一起安装它们。
可以使用多种技术集成多个 DSL。有关更多信息,请参见 使用 Visual Studio Modelbus 集成模型 和 如何:添加拖放处理程序 和 自定义复制行为。
生成多个 DSL 在同一解决方案
创建两个或多个 DSL 解决方案和一个 VSIX 项目,并将所有项添加到单个解决方案。
创建新的 VSIX 项目:在 新项目 对话框中,选择 Visual C#, 扩展性, VSIX 项目。
创建两个或多个 DSL 解决方案在 VSIX 解决方案目录中。
确保使用不同的文件扩展名创建每个 DSL。
更改 DSL 和 DslPackage 项目的名称,以便它们都是不同的。例如: Dsl1, DslPackage1, Dsl2, DslPackage2。
在每 DslPackage*\source.extension.tt,请更新此行到正确的 DSL 项目名称:
string dslProjectName = "Dsl2";
在 VSIX 解决方案中,添加 Dsl* 和 DslPackage* 项目。
在各自的解决方案文件夹可能希望在每一对。
将 VSIX 清单 DSL:
打开 TheVsixProject**\source.extension.manifest**。
对于每个 DSL,选择 添加内容 并添加:
Dsl* 项作为 MEF 组件
DslPackage* 项作为 MEF 组件
DslPackage* 项作为 使用包
生成解决方案。
发生的 VSIX 将安装两个 DSL。通过使用 F5,可以进行测试,也可以部署 TheVsixProject**\bin\Debug\*.vsix**。