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
- Visual Studio-Version im Code des Automation Interface spezifizieren
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