Beispiel: Import von .NET Assemblys
In diesem Beispiel wird gezeigt, wie Sie Binärtypen aus dem .NET Global Assembly Cache (GAC) in ein C#-UModel-Projekt importieren. Die Vorgangsweise ist ähnlich wie beim Import von Binärtypen aus einer Standalone .dll- oder .exe-Datei. Eine Anleitung zum Import von Java .class-Dateien finden Sie im nächsten Kapitel.
So importieren Sie Binärdateien aus dem .NET Global Assembly Cache:
1.Klicken Sie im Menü Projekt auf Binärtypen importieren (siehe Abbildung unten).
2.Wählen Sie die Zielsprache des UModel-Projekts aus (C#, VB.NET, Java). In diesem Beispiel wird C# ausgewählt, da wir eine .NET GAC Assembly importieren.
3.Wenn Sie eine bestimmte Sprachversion für das importierte UModel-Projekt festlegen möchten, wählen Sie diese aus dem benachbarten Textfeld aus. In diesem Beispiel wird C# 7.3 ausgewählt.
4.Wählen Sie optional eine .NET Runtime-Version aus der Runtime Dropdown-Liste aus. Die Standardoption ist beliebige (Disassembler verwenden). In diesem Fall wählt UModel die für die importierte Binärdatei am besten geeignete Reflection APIs aus.
5.Wenn Sie Binärtypen in ein neues Projekt importieren, wählen Sie entweder Code in Modell zusammenführen oder Modell anhand von Code überschreiben aus.
6.Um anhand der importierten Binärtypen optional Klassen- und Paketdiagramme zu generieren, aktivieren Sie das Kontrollkästchen Diagrammgenerierung aktivieren. Wenn Sie diese Option auswählen, stehen in den nächsten Schritten weitere Diagrammgenerierungsoptionen zur Verfügung. Siehe auch Generieren von Klassendiagrammen und Generieren von Paketdiagrammen.
7.Klicken Sie auf Weiter.
8.Klicken Sie auf Hinzufügen | Assembly aus Global Cache (GAC) (siehe Abbildung unten). Beachten Sie, dass die Option Assembly aus Global Cache (GAC) nur für NET Framework 2.x-4.x zur Verfügung steht. Für .NET Core, .NET 5 und spätere Versionen ist der GAC nicht relevant. Nähere Informationen dazu finden Sie in der Microsoft-Dokumentation. Um Assembly-Dateien für .NET Core, .NET 5 und .NET 6 zu importieren, müssen Sie die erforderlichen Dateien aus dem GAC extrahieren. Klicken Sie anschließend auf Hinzufügen | Assembly-Datei (DLL/EXE), wählen Sie die Assembly-Dateien manuell aus und fügen Sie sie zum Projekt hinzu.
9.Wählen Sie eine Assembly aus dem Dialogfeld aus. In diesem Beispiel wurde die Assembly EventViewer ausgewählt (siehe Abbildung unten).
10.Wählen Sie die zu importierenden Typen aus und klicken Sie auf Weiter. Nähere Informationen zu anderen Optionen des Dialogfelds Ausgewählte Binärtypen importieren finden Sie in den Anmerkungen weiter unten.
11.Wählen Sie die entsprechenden Importoptionen aus. Nähere Informationen dazu finden Sie unter Optionen für den Import von Binärdateien.
12.Wenn Sie in Schritt 6 die Diagrammgenerierung aktiviert haben, klicken Sie auf Weiter und konfigurieren Sie die entsprechenden Optionen dafür. Klicken Sie andernfalls auf Fertig stellen.
UModel führt die Konvertierung durch und zeigt im Fenster Meldungen die Fortschritte an. Wenn die Konvertierung von Binärtypen nicht durchgeführt werden kann, finden Sie in der Fehlermeldung eventuell zusätzliche Informationen dazu. So kann es z.B. vorkommen, dass die Binärdatei, die Sie versuchen zu importieren, für eine Runtime-Version gedacht ist, die neuer als die von Ihnen im Dialogfeld Binärtypen importieren ausgewählte ist. Wählen Sie in diesem Fall eine neuere Runtime-Version aus und versuchen Sie es erneut.
Anmerkungen:
•Das Textfeld PATH-Variable ... außer Kraft setzen im Dialogfeld Ausgewählte Binärtypen importieren gilt nur für Java. Fügen Sie optional hier alle Java-Klassenpfade ein, die zusätzlich zu den aus der Umgebungsvariablen CLASSPATH ausgelesenen abgefragt werden sollen. Klicken Sie alternativ dazu auf Hinzufügen und navigieren Sie zu den erforderlichen Ordnern.
•Das Kontrollkästchen 'reflection only'-Kontext verwenden... im Dialogfeld Ausgewählte Binärtypen importieren gilt nur, wenn Sie eine C#- oder VB.NET-Binärdatei importieren. Dies ist nützlich, wenn Sie eine Bibliothek importieren, die Abhängigkeiten hat, die nicht aufgelöst oder geladen werden können. Wenn Sie dieses Kontrollkästchen aktivieren, wird statischer Initializer-Code, der beim Import zu Fehlern führen könnte, nicht ausgeführt.