Umgang mit verschiedenen Versionen von Visual Studio
Dieser Artikel erläutert die Verwendung des TwinCAT-Automation Interface mit unterschiedlichen Versionen von Visual Studio, z. B. Visual Studio 2017 und 2019, wenn Sie beide oder mehrere Versionen gleichzeitig installiert haben.
Visual Studio Programm-ID
Aufgrund der Installation des TwinCAT 3 Engineering in das Visual Studio müssen Sie eine Instanz vom Visual Studio erstellen (DTE-Objekt), um auf das Automation Interface zuzugreifen. Für die Erstellung dieser Instanz ist die sogenannte ProgID erforderlich, welche spezifiziert, welche Version von Visual Studio verwendet werden soll. Auf einem System können unterschiedliche Versionen von Visual Studio oder der TcXaeShell installiert sein, welche sich über die ProgID unterscheiden lassen. Die ProgID befindet sich in der Windows-Registrierung unter HKEY_CLASSES_ROOT und weist folgendes Format auf: VisualStudio.DTE.X.Y.
Die folgende Tabelle zeigt die ProgIDs der derzeit unterstützten Visual Studio-Versionen:
Version | ProgID |
|---|---|
Visual Studio 2017 | VisualStudio.DTE.15.0 |
Visual Studio 2019 | VisualStudio.DTE.16.0 |
Visual Studio 2022 | VisualStudio.DTE.17.0 |
TwinCAT XAE Shell | TcXaeShell.DTE.15.0 |
TwinCAT XAE Shell 64-bit | TcXaeShell.DTE.17.0 |
Visual Studio-Version im Code des Automation Interface spezifizieren
Zwecks Spezifizierung der Visual Studio-Version im Code des Automation Interface müssen Sie die ProgID als Parameter bei der GetTypeDromProgID()-Methode bei der Erstellung des DTE-Objekts verwenden.
Code-Ausschnitt (C#):
Type t = System.Type.GetTypeFromProgID("VisualStudio.DTE.15.0");
EnvDTE.DTE dte = (EnvDTE.DTE) System.Activator.CreateInstance(t); Code-Ausschnitt (PowerShell):
$dte = new-object -com VisualStudio.DTE.15.0