Autor Beitrag
C#David Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Do 14.12.17 11:05 
Ich versuche die Referenz "_sysManager" jetzt über eine Solution zu "holen". Meine Solution ist in den Fall ein fertiges TwinCAT-Projekt (Endung: .sln/), welches ich dann auch mit meinen C#-Programm bearbeiten möchte.
Codeabschnitt:
ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Reflection;

using TCatSysManagerLib;
using System.IO;

using EnvDTE;
using EnvDTE80;
using EnvDTE90;
using EnvDTE100;

namespace LinkVariablesTC2
{    

    class Program
    {
        private static string _tsmPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + "\\Templates\\Sample.tsm";
        private static TcSysManager _sysManager;    
        
        static void Main(string[] args)
        {
            DTE2 dte = null;
            Solution4 solution = null;
            EnvDTE.Project pro;
            Type t = null;
            ITcSysManager4 sysManager = null;
            //Aufrufpfad nach der Syntax Laufwerk:\\Ordner\\Ordner...\\Dateiname.sln
            string SolPath = "Aufrufpfad";

            t = System.Type.GetTypeFromProgID("VisualStudio.DTE.11.0");
            dte = (EnvDTE80.DTE2)System.Activator.CreateInstance(t);
            dte.SuppressUI = false;
            dte.MainWindow.Visible = true;
            dte.UserControl = true;

            // Silent Mode aktivieren
            var settings = dte.GetObject("TcAutomationSettings");
            settings.SilentMode = true;

            solution = (Solution4)dte.Solution;

            try
            {
                solution.Open(SolPath);
            }

            catch (Exception e)
            {
                Console.WriteLine("Beim Aufrufen der Solution wird folgende Exception geworfen: {0}", e.Message.ToString());
            }
            System.Threading.Thread.Sleep(500);
            pro = solution.Projects.Item(1);
            _sysManager = pro.Object();
            ...
            ...
         }
     }
}

Beim Öffnen der Datei/Solution-Files erhalte ich jetzt die in Anhang befindliche Fehlermeldung. Wie kann ich diesen Fehler beheben?
Den Dateipfad habe ich schon mehrfach übeprüft...Ich hatte gelesen, dass man den Fehler auch mit früher/ später Bindung irgendwie umgehen kann? Besten Dank!!!

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Einloggen, um Attachments anzusehen!
C#David Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Do 14.12.17 13:02 
Hier steht auch noc etwas zur Vorgehensweise:

download.beckhoff.co...Interface_pdf_DE.pdf
C#David Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Do 14.12.17 15:59 
Hey Leute,

es hat tatsächlich an den Klammern im Aufrufpfad gelegen :). Trotzen vielen vielen dank für eure schnelle und kostruktive Hilfe!!

Gruß
David