Più soluzioni DSL in una soluzione unica
È possibile creare un pacchetto di diversi linguaggi specifici di dominio come parte di un'unica soluzione, in modo che vengano installati insieme.
Esistono varie tecniche per integrare più linguaggi specifici di dominio. Per altre informazioni, vedere Integrazione di modelli tramite ModelBus di Visual Studio, Procedura: aggiungere un gestore di trascinamento della selezione e Personalizzazione del comportamento di copia.
Per compilare più di un linguaggio specifico di dominio nella stessa soluzione
Creare due o più soluzioni DSL e un progetto VSIX, quindi aggiungere tutti i progetti a un'unica soluzione.
Per creare un nuovo progetto VSIX: nella finestra di dialogo Nuovo progetto selezionare Visual C#, Extensibility, Progetto VSIX.
Creare due o più soluzioni DSL nella directory della soluzione VSIX.
Per ogni linguaggio specifico di dominio, aprire una nuova istanza di Visual Studio. Creare il nuovo linguaggio specifico di dominio e specificare la stessa cartella soluzione della soluzione VSIX.
Assicurarsi di creare ogni linguaggio specifico di dominio con un'estensione di file diversa.
Modificare i nomi dei pacchetti Dsl e DslPackage in modo che siano tutti diversi. Ad esempio, Dsl1, DslPackage1, Dsl2, DslPackage2.
In ogni DslPackage*\source.extension.tt, aggiornare questa riga con il nome del progetto Dsl corretto:
string dslProjectName = "Dsl2";
Nella soluzione VSIX aggiungere i progetti Dsl* e DslPackage*.
Può essere utile inserire ogni coppia in una specifica cartella soluzione.
Combinare i manifesti VSIX dei linguaggi specifici di dominio:
Aprire ProgettoVsix**\source.extension.manifest**.
Per ogni linguaggio specifico di dominio, scegliere Aggiungi contenuto e aggiungere:
Il progetto Dsl* come componente MEF
Il progetto DslPackage* come componente MEF
Il progetto DslPackage* come pacchetto VS
Compilare la soluzione.
Il progetto VSIX risultante installerà entrambi i linguaggi specifici di dominio. È possibile testarli usando F5 oppure distribuire ProgettoVsix**\bin\Debug\*.vsix**.
Vedere anche
Concetti
Integrazione di modelli tramite ModelBus di Visual Studio
Procedura: aggiungere un gestore di trascinamento della selezione