Unfortunately the best .net decompiler will not be free anymore. The version 7 of .NET Reflector will not be free of charge anymore. For more details see red-gates announcement. The good news is that others took this as opportunity.
The next version of Jetbrains Resharper is bundled with a decompiler and a free standalone tool will follow.
Another tool comes from the SharpDevelop Community. For more information about ILSpy see Daniel Grunwalds blog.
Geert Bellekens did a nice tutorial on how to build addin’s for Sparx Systems Enterprise Architect:
Create your first C# Enterprise Architect addin in 10 minutes.
The post also contains this nice diagram showing what it takes:
Here at LieberLieber we do it a little bit different using our own framework in between – and we don’t install into GAC. Nevertheless you should get the point how to get started. If you don’t want to do it yourself feel free to contact us
In our opinion it is vital for an addin project to be successful to offer an MSI setup for deployment.
Ich hatte bei einem Kunden das Problem, dass eine Windows .Net Applikation bei jeden Start ca. 30 Sekunden benötigt hat, bis die Applikation geladen war.
Eine ebenso dort installierte ASP.Net Applikation benötigte ca. 4 Minuten (!), bis dass der Browser die erste Seite geöffnet hatte (danach gings normal weiter, solange die Web-App nicht gestoppt wurde…).
Man konnte mit dem Prozess-Explorer förmlich sehen, wie eine dll nach der anderen mit grossen Zeitabstand in den Speicher geladen wurde… Irgend etwas schien die Ladezeit stark zu verzögern (Virenscanner?).
Erst nach langer Zeit und Suche bin ich im Google endlich fündig geworden – folgenden Eintrag muss man in einer Config-Datei (app od. web.config) machen (rot hervorgehoben):
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>
Mit dieser Änderung geht das Starten plötzlich wieder im “normalen” Tempo…
Hier die Begründung von Microsoft (http://msdn.microsoft.com/de-de/library/bb629393.aspx):
Die Common Language Runtime (CLR) versucht, die Authenticode-Signatur zur Ladezeit zu überprüfen, damit der Publisher-Beweis für die Assembly erstellt wird. Standardmäßig benötigen die meisten Anwendungen jedoch keinen Publisher-Beweis. Die Standard-CAS-Richtlinie ist nicht auf PublisherMembershipCondition angewiesen. Vermeiden Sie die unnötigen Startkosten, die mit der Prüfung der Herausgebersignatur zusammenhängen, es sei denn, die Anwendung wird auf einem Computer mit benutzerdefinierter CAS-Richtlinie ausgeführt oder muss den Anforderungen von PublisherIdentityPermission in einer nur teilweise vertrauenswürdigen Umgebung genügen. (Forderungen nach Identitätsberechtigungen haben in einer vollständig vertrauenswürdigen Umgebung immer Erfolg.)
Hallo beisammen,
bin gerade auf einen interessanten Artikel bei devlicio.us gestossen.
Dort wird über die Implemetierung von Events gesprochen, im konkreten Fall wie man sich die Abfrage auf null sparen kann und ohne diese sogar performanter sein soll.
Hier noch ein weiterer Link zum Thema, mit weiterführenden Links, auf www.dev102.com.
Was denkt ihr darüber?
Lg Oli
EDIT: Uiui, wer lesen kann.
Die pruefung auf null ist schneller als das initialisieren.
Es gilt immer wieder die Daten aus seiner Applikation als Excel bereit zustellen.
Grundsätzlich gibt es dazu 2 klassische Wege:
- Über das Excel Object Model und Interop
- Über eine ASPX Seite mit dem richtigen Content Type
Beide Wege haben Nachteile die man mit der dritten Variante in den Griff bekommen kann- Excel Dateien mit einer 3rd Party Komponente zu schreiben. Der Aufwand den man betreiben muss ist aber sicherlich mit der ASPX Variante am geringsten.
TMS Software hat eine Komponente im Angebot die sogar auf dem Compact Framework funktioniert!
Das Tool von Lutz Roeder für Analyse von .NET-Assemblies wurde von Redgate übernommen Reflector Homepage.
Cool scheint die Möglichkeit wieder Quelltext aus Assemblies zu erzeugen. Es hat eine Pluginarchitectur und würde sich für eine mögliche Integration (Plugin) für Enterprise Architect SparxSystems Homepage anbieten.
Genial finde ich auch die volle Unterstützung von .NET 1.0 bis 3.5, für LINQ und Lambda Ausdrücke und Ressourcen, die in Assemblies eingebettet sind.
Es gibt auch eine kostenfreie Variante.


