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 2010 und 2012, wenn Sie beide oder mehrere Versionen gleichzeitig installiert haben. Er besteht aus folgenden Themen:

Visual Studio Programm-ID

Wie Sie bereits in unseren grundlegenden Artikeln gesehen haben, müssen Sie aufgrund der Integration von TwinCAT 3 in die Visual Studio-Umgebung ein Visual Studio DTE-Objekt erstellen, bevor Sie den Code für das Automation Interface implementieren können. Wenn Sie mehr als eine Visual Studio-Version auf Ihrem Engineering-PC installiert haben und gerne die Version auswählen möchten, die mit dem Automation Interface-Code zu verwenden ist, müssen Sie die sogenannte Programm-ID (ProgID) der entsprechenden Visual Studio-Version bestimmen. 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 2010

VisualStudio.DTE.10.0

Visual Studio 2012

VisualStudio.DTE.11.0

Visual Studio 2013

VisualStudio.DTE.12.0

Visual Studio 2015

VisualStudio.DTE.14.0

Visual Studio 2017

VisualStudio.DTE.15.0

TwinCAT XAE Shell

TcXaeShell.DTE.15.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