Поделиться через


Несколько доменных языков в одном решении

Несколько доменных языков можно упаковать как часть единого решения, чтобы устанавливать их вместе.

Для интеграции нескольких доменных языков можно использовать различные технологии. Дополнительные сведения см. в разделе "Интеграция моделей с помощью Visual Studio Modelbus и практическое руководство. Добавление обработчика перетаскивания и настройка поведения копирования".

Создание нескольких DSL в одном решении

  1. Создайте проект проекта VSIX.

  2. Создайте два или более проектов DSL в каталоге решения VSIX.

    • Для каждого доменного языка откройте новый экземпляр в Visual Studio. Создайте новый доменный язык и укажите ту же папку решения, что и для решения VSIX.

    • Убедитесь, что каждый доменный язык создается с разным расширением имени файла.

    • Измените имена проектов Dsl и DslPackage, чтобы они были разными. Примеры: Dsl1, DslPackage1, Dsl2, DslPackage2.

    • В каждом dslPackage*\source.extension.tt обновите эту строку до правильного имени проекта Dsl:

      string dslProjectName = "Dsl2";

    • В решении VSIX добавьте проекты Dsl* и DslPackage*. Можно добавить каждую пару в отдельную папку решения.

  3. Объедините манифесты VSIX доменных языков:

    1. Откройте YourVsixProject\source.extension.manifest.

    2. Для каждого DSL выберите "Добавить содержимое " и добавьте:

      • Dsl* проект как компонент MEF

      • DslPackage* проект как компонент MEF

      • DslPackage* проект в виде пакета VS

  4. Постройте решение.

    Получившийся проект VSIX установит оба доменных языка. Их можно протестировать с помощью F5 или развернуть YourVsixProject\bin\Debug\*.vsix.