Partager via


Utilisation de plusieurs langages spécifiques à un domaine dans une solution

Vous pouvez empaqueter plusieurs DSL comme partie intégrante d'une seule solution de telle sorte qu'ils soient installés ensemble.

Il existe différentes techniques pour intégrer plusieurs DSL. Pour plus d'informations, consultez Intégration de modèles à l'aide de Visual Studio Modelbus, Comment : ajouter un gestionnaire glisser-déplacer et Personnalisation du comportement de la commande copier.

Pour créer plusieurs DSL dans la même solution

  1. Créez au moins deux solutions DSL, ainsi qu'un projet VSIX, et ajoutez tous les projets à une solution unique.

    • Pour créer un projet VSIX : dans la boîte de dialogue Nouveau projet, sélectionnez Visual C#, Extensibilité, Projet VSIX.

    • Créez au moins deux solutions DSL dans le répertoire de solutions VSIX.

      Pour chaque DSL, ouvrez une nouvelle instance de Visual Studio. Créez le DSL et spécifiez le même dossier de solution que la solution VSIX.

      Assurez-vous que vous créez chaque DSL avec une extension de nom de fichier différente.

    • Modifiez les noms des projets Dsl et DslPackage afin qu'ils soient tous différents. Par exemple : Dsl1, DslPackage1, Dsl2, DslPackage2.

    • Dans chaque DslPackage*\source.extension.tt, modifiez la ligne suivante pour corriger le nom du projet Dsl :

      string dslProjectName = "Dsl2";

    • Dans la solution VSIX, ajoutez les projets Dsl* et DslPackage*.

      Il se peut que vous souhaitiez placer chaque paire dans son propre dossier de solution.

  2. Regroupez les manifestes VSIX des DSL :

    1. Ouvrez YourVsixProject**\source.extension.manifest**.

    2. Pour chaque DSL, choisissez Ajouter du contenu et ajoutez :

      • projet Dsl* comme Composant MEF

      • projet DslPackage* comme Composant MEF

      • projet DslPackage* comme Package VS

  3. Générez la solution.

Le VSIX résultant installera les deux DSL. Vous pouvez les tester en utilisant F5 ou déployer YourVsixProject**\bin\Debug\*.vsix**.

Voir aussi

Concepts

Intégration de modèles à l'aide de Visual Studio Modelbus

Comment : ajouter un gestionnaire glisser-déplacer

Personnalisation du comportement de la commande copier