Archiv für den Monat: November 2017

EPLAN-API: Signierung automatisieren (Update 1)

Ich hatte hier ja mal was ausprobiert… aber so ganz zufrieden war ich da nicht:

  1. Es kann nur ein Keyfile angegeben werden
  2. Irgendwas da in der Projektdatei rumschreiben macht nur Probleme

Nun hab ich mir das nochmal angeschaut und eine Lösung gefunden. Per Kommandozeile kann man die DLLs in IL Code umwandeln und dann neu kompilieren mit Keyfile. Achtet darauf dass die Ausgabepfade auch alle vorhanden sind.

"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\ildasm.exe" "C:\Testprojekt\bin\Release\Suplanus.Test.EplAddIn.Template.dll" /all /out="C:\Testprojekt\bin\Release\Signed\Suplanus.Test.EplAddIn.Template.il"
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe" "C:\Testprojekt\Signed\Suplanus.Test.EplAddIn.Template.il" /dll /key:"C:\Testprojekt\Build\Keyfiles\MyKeyFile.snk"

Im Signed Ordner findet ihr dann die signierte DLL. Diese dann bei EPLAN hochladen und das wars.

Von |2017-11-07T16:37:57+01:002017-11-08|EPLAN, EPLAN-API|

EPLAN Offline Console Application

Bin schon paar mal selbst drüber gestolpert, darum hier eine Notiz an mich selbst:
Will man eine EPLAN Offline Anwendung als Konsolenapplikation erstellen muss die Main()  Methode mit dem Compiler Attribut [STAThread]  ausgestattet werden:

using System;
using System.IO;
using System.Linq;
using Suplanus.Sepla.Application;

namespace ibKastl.Meco.Test.Console
{
    class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            // Start EPLAN
            System.Console.WriteLine("Starting EPLAN...");
            string binPath = Starter.GetEplanInstallations()
                .Last(obj => obj.EplanVariant
                .Equals("Electric P8"))
                .EplanPath;
            binPath = Path.GetDirectoryName(binPath);
            EplanOffline eplanOffline = new EplanOffline(binPath, "API");
            eplanOffline.StartWithoutGui();

            // Close
            eplanOffline.Close();           
            System.Console.ReadKey();
        }
    }
}

 

Hab das auch noch in den Kommentar der Starter gepackt:

Von |2017-11-07T07:09:10+01:002017-11-07|EPLAN, EPLAN-API|
Nach oben