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