Solution-Konfiguration und Plattform setzen

Für automatisierte Abläufe muss die aktive Solution-Konfiguration explizit gesetzt werden. Das Beispiel iteriert alle Konfigurationen der Solution und aktiviert die gewünschte Plattform.

Für unbeaufsichtigte Skripte und CI/CD-Pipelines sollte zusätzlich dte.SuppressUI = true gesetzt werden. Das unterdrückt modale VS-Dialoge während der Automatisierung. TcAutomationSettings.SilentMode ist davon unabhängig und unterdrückt TwinCAT-spezifische Dialoge. Für vollständig unbeaufsichtigte Abläufe sollten beide aktiviert werden.

Voraussetzungen

C#-Beispiel

Die Iteration erfolgt über SolutionBuild.SolutionConfigurations. Der Vergleich mit PlatformName findet die gewünschte Konfiguration.

using EnvDTE;

// Iterate all solution configurations and activate target platform
SolutionConfigurations configs =
    solution.SolutionBuild.SolutionConfigurations as SolutionConfigurations;

foreach (SolutionConfiguration2 config in configs)
{
    if (config.PlatformName == "TwinCAT OS (x64)")
    {
        config.Activate();
        break;
    }
}

// SuppressUI: suppresses UI dialogs (recommended for automation)
dte.SuppressUI = true;
dte.MainWindow.Visible = false;
Solution-Konfiguration und Plattform setzen 1:

Die verfügbaren Plattformnamen hängen von der installierten TwinCAT-Version ab. Eine vollständige Übersicht der gültigen Zielplattformen (Betriebssystem, Prozessor, PE/ELF-Format) bietet die offizielle TwinCAT Platform Matrix.