Condividi tramite


Condividere classi tra DSL

In Visual Studio Visualization and Modeling SDK è possibile creare una definizione DSL incompleta che è possibile importare in un altro linguaggio DSL. Questo approccio consente di considerare parti comuni di modelli simili.

Nota

Il componente Trasformazione modello di testo viene installato automaticamente come parte del carico di lavoro sviluppo di estensioni di Visual Studio. È anche possibile installarlo dalla scheda Singoli componenti di Programma di installazione di Visual Studio, nella categoria SDK, librerie e framework. Installare il componente Modeling SDK dalla scheda Singoli componenti .

Creare un progetto DSL

  1. Creare un nuovo progetto DSL e scegliere il modello di soluzione Libreria DSL.

    Viene creato un singolo progetto DSL con un modello vuoto.

  2. È possibile aggiungere classi di dominio, relazioni, forme e così via. Gli elementi della libreria non devono formare un singolo albero di incorporamento. Per definire una relazione che gli importers possono usare, creare due classi di dominio e creare la relazione tra di esse.

    Valutare la possibilità di impostare il modificatore di ereditarietà delle classi di dominio su Abstract.

  3. È possibile aggiungere elementi definiti in Esplora DSL, ad esempio generatori di Connessione ion.

  4. È possibile aggiungere personalizzazioni che richiedono più codice, ad esempio vincoli di convalida.

  5. Selezionare Trasforma tutti i modelli.

  6. Compilare il progetto.

  7. Quando si distribuisce il linguaggio DSL per l'uso da parte di altri utenti, è necessario fornire sia l'assembly compilato (DLL) che il file DslDefinition.dsl. È possibile trovare l'assembly compilato in una cartella in Dsl\bin*.

Importare una libreria DSL

  1. In un'altra definizione DSL, in Esplora DSL fare clic con il pulsante destro del mouse sulla classe radice del DSL e quindi scegliere Aggiungi nuova importazione DslLibrary.

  2. Nella finestra Proprietà impostare il percorso file della libreria. È possibile usare un percorso relativo o assoluto.

    La libreria importata viene visualizzata in Esplora DSL, in modalità di sola lettura.

  3. È possibile usare le classi importate come classi di base. Creare una classe di dominio nel linguaggio DSL di importazione e nella Finestra Proprietà impostare Classe base su una classe importata.

  4. Selezionare Trasforma tutti i modelli.

  5. Aggiungere al progetto DSL un riferimento all'assembly (DLL) compilato dal progetto di libreria DSL.

  6. Compilare la soluzione.