Gemeinsame Nutzung von Klassen durch DSLs

Im Visual Studio SDK für Visualisierung und Modellierung können Sie eine unvollständige DSL-Definition erstellen, die Sie in ein anderes DSL importieren können. Mit diesem Ansatz können gemeinsame Teile ähnlicher Modelle berücksichtigt werden.

Hinweis

Die Komponente Textvorlagentransformation wird automatisch als Teil der Workload Visual Studio-Erweiterungsentwicklung installiert. Sie können die Installation auch über die Registerkarte Einzelne Komponenten des Visual Studio-Installers unter der Kategorie SDKs, Bibliotheken und Frameworks durchführen. Installieren Sie die Komponente Modellierungs-SDK auf der Registerkarte Einzelne Komponenten.

Erstellen eines DSL-Projekts

  1. Erstellen Sie ein neues DSL-Projekt, und wählen Sie die Projektmappenvorlage „DSL-Bibliothek“ aus.

    Ein DSL-Projekt wird mit einem leeren Modell erstellt.

  2. Sie können Domänenklassen, Beziehungen, Shapes usw. hinzufügen. Die Elemente in der Bibliothek müssen keine Einbettungsstruktur bilden. Wenn Sie eine Beziehung definieren möchten, bei der Importer verwendet werden können, erstellen Sie zwei Domänenklassen und die Beziehung zwischen ihnen.

    Legen Sie den Vererbungsmodifizierer der Domänenklassen am besten auf Abstract fest.

  3. Sie können Elemente hinzufügen, die Sie im DSL-Explorer definieren, z. B. Verbindungs-Generatoren.

  4. Sie können Anpassungen hinzufügen, die mehr Code erfordern, z. B. Validierungseinschränkungen.

  5. Klicken Sie auf Alle Vorlagen transformieren.

  6. Erstellen Sie das Projekt.

  7. Wenn Sie das DSL-Projekt für andere Benutzer*innen verteilen, müssen Sie sowohl die kompilierte Assembly (DLL) als auch die Datei DslDefinition.dsl bereitstellen. Sie finden die kompilierte Assembly in einem Ordner unter Dsl\bin*.

Importieren einer DSL-Bibliothek

  1. Klicken Sie in einer anderen DSL-Definition in DSL-Explorer mit der rechten Maustaste auf die DSL-Basisklasse, und wählen Sie Neuen DslLibrary-Import hinzufügen aus.

  2. Legen Sie im Fenster Eigenschaften den Dateipfad der Bibliothek fest. Sie können einen relativen oder einen absoluten Pfad verwenden.

    Die importierte Bibliothek wird im DSL-Explorer im schreibgeschützten Modus angezeigt.

  3. Sie können die importierten Klassen als Basisklassen verwenden. Erstellen Sie im DSL-Projekt zum Importieren eine Domänenklasse, und legen Sie im Eigenschaftenfenster Basisklasse auf eine importierte Klasse fest.

  4. Klicken Sie auf Alle Vorlagen transformieren.

  5. Fügen Sie dem DSL-Projekt einen Verweis auf die Assembly (DLL) hinzu, die im Rahmen des Projekts „DSL-Bibliothek“ erstellt wurde.

  6. Erstellen Sie die Projektmappe.