Projekt einbinden
Die Inhalte eines Framework Projektes können in ein HMI-Projekt in der gleichen Visual Studio Solution referenziert werden aber auch als NuGet-Paket exportiert werden. Als Paket können sie mehrfach in verschiedenen Projekten importiert und damit wiederverwendet werden.
Einbindung via Referenz
Zur Einbindung über eine Referenz muss „Add Reference…“ gewählt werden. Hierraus öffnet sich ein Dialog in dem alle Framework-Projekte innerhalb der gleichen Solution aufgelistet sind:
Wurde mit der Checkbox das Projekt ausgewählt, so wird es unter References im HMI-Projekt gezeigt:
Wird nun das Framework-Projekt gebaut so erkennt dies das HMI-Projekt und aktualisiert die Controls und sonstige Dateien aus dem referenzierten Projekt.
Einbindung via NuGet-Paket
Vor dem Einbinden muss der aktuelle Inhalt erst als NuGet-Paket erstellt werden. Dies ist einfach über den Menüpunkt „Create NuGet Package…“ möglich:
Dabei wird das Paket im Verzeichnis C:\TwinCAT\Functions\TE2000-HMI-Engineering\References
erstellt. Dieses Verzeichnis ist Visual Studio bekannt unter dem Namen „TwinCAT HMI Customer“. Der Dateiname wird generiert aus dem Namen des Paketes und dessen Versionsnummer. Beides kann in der nuspec-Datei eingestellt werden.
Um die erstellte Datei in einem HMI-Projekt einzubinden wird „Manage NuGet Packages…“ ausgewählt:
Hier wird im NuGet Package Manager auf der rechten Seite „TwinCAT HMI Customer“ gewählt und das neue Paket im Tab „Browse“ sichtbar.
Wurde mit „Install“ das Paket ausgewählt, so wird es unter References im HMI-Projekt gezeigt:
Weitergabe von NuGet-Paketen
Da das Paket in sich eine geschlossene Einheit bildet, kann es auch als Datei weitergegeben werden. Hier sind unterschiedliche Wege möglich.
- Direkte Weitergabe der Datei: Hier muss auf dem Zielrechner die Datei ins Verzeichnis
C:\TwinCAT\Functions\TE2000-HMI-Engineering\References
kopiert werden. Daraufhin ist es im NuGet Package Manager auswählbar. - Ein gemeinsam genutztes Verzeichnis: Werden öfter Pakete ausgetauscht, so können zusätzliche Verzeichnisse als Paketquellen definiert werden. Die Einstellung hierfür ist in den Visual Studio Optionen unter NuGet Package Manager/Package Sources zu finden:
- Weiterhin ist es möglich die Pakete in der öffentlichen NuGet Gallery auf nuget.org zugänglich zu machen.