Partilhar via


Várias DSLs em uma mesma solução

É possível empacotar diversas DSLs como parte de uma única solução para serem instaladas juntas.

É possível usar diversas técnicas para integrar múltiplas DSLs. Para obter mais informações, consulte Integrando modelos por meio do Visual Studio Modelbus, Como adicionar um manipulador de evento de arrastar e soltar e Personalizando o comportamento da operação de copiar.

Compilar mais de uma DSL na mesma solução

  1. Crie duas ou mais soluções DSL e um projeto VSIX e adicione todos os projetos a uma única solução.

    • Para criar um novo projeto VSIX: Na caixa de diálogo Novo Projeto, selecione Visual C#, Extensibilidade, VSIX Project.

    • Crie duas ou mais soluções DSL no diretório da solução VSIX.

      Abra uma nova instância do Visual Studio para cada DSL. Crie a nova DSL e especifique a mesma pasta da solução que a solução VSIX.

      Certifique-se de criar cada DSL com uma extensão de nome de arquivo diferente.

    • Altere os nomes dos projetos Dsl e DslPackage para ficarem todos diferentes. Por exemplo: Dsl1, DslPackage1, Dsl2, DslPackage2.

    • Em cada DslPackage*\source.extension.tt, atualize essa linha para o nome do projeto Dsl correto:

      string dslProjectName = "Dsl2";

    • Na solução VSIX, adicione os projetos Dsl* e DslPackage*.

      É aconselhável colocar cada par em sua própria pasta da solução.

  2. Combine os manifestos VSIX das DSLs:

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

    2. Para cada DSL, escolha Adicionar Conteúdo e adicione:

      • Projeto Dsl* como um Componente MEF

      • Projeto DslPackage* como um Componente MEF

      • Projeto DslPackage* como um Pacote do VS

  3. Crie a solução.

O VSIX resultante instalará as duas DSLs. É possível testá-las usando F5 ou implantar YourVsixProject**\bin\Debug\*.vsix**.

Consulte também

Conceitos

Integrando modelos por meio do Visual Studio Modelbus

Como adicionar um manipulador de evento de arrastar e soltar

Personalizando o comportamento da operação de copiar