Und täglich grüßt die EPLAN Signierung…

Meine Beschreibung hier, klappt leider nur wenn man eine DLL bzw. EXE hat. Es wird zwar alles richtig signiert, aber die Verweise werden nicht aktualisiert, da ist .NET schuld…

Tja, für die Meisten wird das kein Problem sein, aber ich arbeite immer mit verteilten Libraries.

Ich habe einen Weg gefunden der für mich OK ist. Bisl manuelle Arbeit hat man wenn man mehrere Keys signieren muss.
In der AssemblyInfo.cs  lege ich fest dass in der Release Konfiguration die Kompiler-Attribute für EPLAN gesetzt werden.

// EPLAN signing
#if TRACE && !DEBUG
using Eplan.EplApi.Starter;
[assembly: EplanSignedAssembly(true)]
[assembly: AssemblyKeyFile("2161_Public.snk")]
[assembly: AssemblyDelaySign(true)]
#endif

Das tolle ist, ich kann nach wie vor den Release Build testen, wenn ich das Trace Flag wegnehme.

Zusätzlich wird die Signierung wirklich erst von EPLAN gemacht… denn die Attribute reservieren nur den Speicher in den Assemblies. Somit kann man auch Extensions verwenden welche den Build beeinflussen wie Fody.PropertyChanged, welches bei mir immer mit WPF im Einsatz ist.

Mir ist beim Bauen einer Offline-Application auch noch was aufgefallen:
Werden externe Assemblies verwendet, achtet darauf das diese strong namend signiert sind. Sonst könnt Ihr Sie nicht verwenden. Ich nutze zum Glück ausschließlich OpenSource Lösungen… denn eine davon war nicht signiert und ich musste es dann mit dem EPLAN KeyFile selbst machen, was ich ja konnte da Code vorhanden ist :^)

Vielen Dank an der Stelle, mal wieder, an den tollen EPLAN API Support, der mir hier wieder freundlich zur Seite stand!