assemblyCompressor – Next round

von Maximilian Samstag, 27. Februar 2010 14:17

In den letzten Tagen habe ich wieder ein wenig am assemblyCompressor gearbeitet. Neu ist vor allem die Oberfläche.

Ich war ja immer schon ein Freund von dem, erstmals in Office 2007 verwendeten, Ribbon-UI. In Windows 7 wurde da ganze ja noch ein wenig weiter getrieben, so dass auch Standardanwendungen wie Paint oder Wordpad die neue Oberfläche erhielten. Ganz in diesem Stil habe ich nun auch die Oberfläche vom neuen assemblyCompressor gestaltet:

assemblyCompressor2

So hat man das wesentliche immer im Blick und kommt trotzdem schnell an alle Optionen heran. Wie der Fenstertitel verrät handelt es sich noch um eine Betaversion. An den Menus werde ich noch ein wenig arbeiten aber ansonsten gefällt mir diese Version schon recht gut. Alle übrigen Controls bleiben natürlich im nativen OS-Look, ich möchte die Anwendung ja nicht verschandeln, wie das manche mit diesem grässlichen Krypton-UI machen.

Download: assemblyCompressor2.zip(~2,10 MB)

Bei der Versionsnummer bin ich mir noch nicht so sicher, da es ja keine wirkliche Version 1.0 gab ist es ein bisschen Doof gleich auf 2.0 zu springen. Das ist ja nicht Googles Chrome. Wir werden sehen. Wer sich mit den Ribbons nicht anfreunden kann, kann den assemblyCompressor wie gewohnt auch komplett über die Kommandozeile betrieben. Dafür selbigen einfach in einer Konsole mit den Parametern “/build /help” ausführen um eine Liste mit den verfügbaren switches zu bekommen.

Im übrigen wird dieses Ribbon-UI wohl auch im updateSystem.NET mit dem nächsten oder übernächsten Minor-Update Einzug halten. Grade dort ist dies mehr als praktisch.

Neues vom assemblyCompressor

von Maximilian Samstag, 12. Dezember 2009 17:06

Ich habe mich heute mal wieder hingesetzt und meinen assemblyCompressor um ein paar Funktionen erweitert. Neben der kleinen Neuerung, dass man das Ausgabeassembly gegen eine bestimmte Prozessorarchitektur kompilieren kann (Jede CPU, x86 (32-Bit) oder x64 (64-Bit)) gibt es zwei größere neue Funktionen:

Komplettes Erstellen über die Kommandozeile

Es ist nun möglich den assemblyCompressor direkt über Kommandozeilenparameter anzusprechen. Vorher gab es nur den Parameter /build der es erlaubte ein zuvor über die GUI erstelltes Projekt zu kompilieren. Nun kann man alle nötigen Informationen direkt per Parameter übergeben. Das hat den weiteren Vorteil, dass man zum Beispiel direkt im PostBuild Ereignis des Visual Studio das Ausgabeassembly entsprechend Komprimieren kann. Dazu können nun auch die VS Internen Pfadvariablen verwendet werden, was Probleme vermeidet wenn man an mehreren verschiedenen Arbeitsplätzen entwickelt wo sich die Projektpfade unterscheiden. Der PostBuild-Befehl zum komprimieren des Ausgabeassemblies mit allen Verweise könnte demnach z.B. so aussehen:

assemblyCompressor.exe /build /mainAssembly:"$(TargetPath)"
/referencePath:$(TargetDir) /compress /outputFile:"$(SolutionDir)$(TargetFileName)"

Eine komplette Auflistung aller möglichen Befehle kann man sich Ausgeben lassen, wenn man den assemblyCompressor über eine Konsole mit folgenden Parametern startet: assemblyCompressor.exe /build /help

Integration des ExceptionTracker.NET

Der assemblyCompressor hatte ja schon immer die Möglichkeit unbehandelte Exceptions, welche in der Hauptanwendung geworfen wurden, in einem eigenen Dialog anzuzeigen. Dies hatte den einfachen Grund, dass bei solch einer Exception nicht wie üblich der Standard .NET Fehlerdialog mit weiteren Informationen auftauchte, sondern ein schlichtes und gar nichts sagendes “Die Anwendung funktioniert nicht mehr…”.Mehr...

assemblyCompressor - Beta

von Maximilian Donnerstag, 30. Juli 2009 13:47

Y.A.D.T. – Yet Another Developer Tool hätte die Überschrift auch heißen können, aber ich lass es mal dabei.

Was ist der assemblyCompressor?
Der assemblyCompressor ist eine Anwendung die es Entwicklern ermöglicht die Referenzen von Ihren Programmen mit in die Anwendung zu packen. Dabei wird die eigentliche Anwendung mitsamt ihren Verweisen in ein neues Assembly kompiliert welches die Anwendung startet und bei Bedarf die Referenzen aus den Programressourcen nachlädt. Momentan funktioniert das nur mit managed Referenzassemblies da diese direkt geladen werden.

assemblyCompressor_1 assemblyCompressor_2

Wichtig: Manche Hersteller von Drittkomponenten erlauben es nicht, dass Ihre Assemblies auf diese Art in das Program eingebettet werden (z.B. das kostenlose Krypton-Toolkit von ComponentFactory). Deshalb bitte vor dem integrieren den Lizenzvertrag der jeweiligen Komponente sorgsam durchlesen oder im Zweifelsfall direkt beim Hersteller nachfragen.

Das Program befindet sich momentan noch im Betastadium, läuft aber schon relativ stabil Das subSystem welches die Anwendung startet und die Referenzen nachlädt beinhaltet auch einen Exceptionhandler der unbehandelte Ausnahmen in der Zielanwendung abfängt. Eventuell baue ich diesen später noch aus, so dass Exceptionreports z.B. direkt an den Entwickler gesendet werden können.

Bei Problemen oder Featurewünschen betreffend assemblyCompressor bitte an mich wenden. Kontaktmöglichkeiten stehen im Impressum.

Download: assemblyCompressor

P.S.:
Der assemblyCompressor benutzt zum erstellen des SubSystems mein codeCompiler-Library, dessen Quellcode ich auf CodePlex veröffentlicht habe (link).

Spenden

Dir gefällt meine Arbeit? Dann kannst du mich mit einer Spende über PayPal unterstützen:

PayPal Spenden /></a>

Neueste Kommentare

Comment RSS