Archiv für den Monat: September 2007

Debuggen von Problemen beim Laden von Assemblies

Ich entwickle beruflich u.a. Assemblies mit C++/CLI, die eine Interop-Brücke zwischen den vorhandenen C++-Bibliotheken und unseren .NET-Anwendungen (in C#) darstellen. Hin und wieder (beispielsweise wenn sich eine native C++-DLL geändert hat), bekomme ich Loader Exceptions in Form von System.IO.FileNotFoundException.

Bisher habe ich mir immer Hilfe bei dem Assembly Binding Log Viewer geholt, der mich angezeigt hat, welche Assemblies Probleme machen. Der Assembly Binding Fusion Log Viewer liegt üblicherweise im SDK-Ordner vom .NET Framework (in meinem Fall C:Program FilesMicrosoft Visual Studio 8SDKv2.0Bin) und heißt FUSLOGVW.exe.

Assembly Binding Log Viewer

Danach habe ich mir die Assemblies angeschaut, die Probleme machen und habe somit schnell die fehlenden Abhängigkeiten gefunden.

Weiter Tipps in dieser Richtung habe ich im Blog von Suzsanne Cook gefunden, wie man Probleme beim Laden von Assemblies in den Griff bekommt:

http://blogs.msdn.com/suzcook/archive/2003/05/29/57120.aspx

Managed-Unmanaged InterOp: unmanaged DLLs in Assemblies speichern

Ich habe heute im Blog von Ralf Westphal einen etwas älteren, aber dennoch sehr interessanten Artikel gelesen, der sich damit beschäftigt wie man native C/C++-DLLs in Assemblies unterbringen kann.

Dabei wird zur Compile-Zeit einfach die unmanaged DLL als Ressource in die .NET Assembly eingebettet und dann zur Laufzeit wieder extrahiert und im Dateisystem gespeichert.

Ein einfacher, aber dennoch cooler Trick, der das Deployment (vorzugsweise XCOPY-Deployment) für Interop-Applikationen vereinfacht.

Eine ähnliche Vorgehensweise beschreibt auch Suzanne Cook in ihrem Blog: Sie schlägt vor, die unmanaged DLL als Teil einer Multi-File-Assembly abzulegen. Somit nimmt man den Vorteil der Versionierung von .NET Assemblies mit.

Hier nochmal die Links zu den beiden Beiträgen:

Ralf Westphals Blogeintrag „Single Assembly Deployment of Managed and Unmanaged Code“:
http://weblogs.asp.net/ralfw/archive/2007/02/04/single-assembly-deployment-of-managed-and-unmanaged-code.aspx

Suzanne Cock’s Blogeintrag „Versioning/Deploying Unmanaged Files“:
http://blogs.msdn.com/suzcook/archive/2004/10/28/249280.aspx

Vortrag zu JetBrains „ReSharper 3.0“ bei der .NET Developers Group Stuttgart

Am Mittwoch habe ich einen Vortrag über die Features von JetBrains „ReSharper 3.0“ bei der .NET Developers Group Stuttgart gehalten. Das erste Feedback dazu war sehr positiv.

Die konstruktiven Vorschläge und Anfragen habe ich natürlich an JetBrains weitergeleitet.

Hier können nun die Vortragsfolien und Beispielprogramme heruntergeladen werden:

Vortragsfolien (als PDF-Datei):
http://www.minibrain.de/schulung/ReSharper3/Vorstellung_ReSharper_3.pdf

Code der Präsentation (mit Kommentaren):
http://www.minibrain.de/schulung/ReSharper3/Vorstellung_ReSharper_3_CodeDemos.zip

Der Wahnsinn: Die AGBs von Google Text & Tabellen

Auf der Seite http://www.google.com/google-d-s/intl/de/terms.html können die Nutzungsbedingungen von Google Text & Tabellen nachgelesen werden.

Wie Golem.de bereits berichtete, gehören alle Inhalte quasi Google: „Durch Übermittlung, Einstellung oder Darstellung der Inhalte gewähren Sie Google eine dauerhafte, unwiderrufliche, weltweite, kostenlose und nicht exklusive Lizenz zur Reproduktion, Anpassung, Modifikation, Übersetzung, Veröffentlichung, öffentlichen Wiedergabe oder öffentlichen Zugänglichmachung und Verbreitung der von Ihnen in oder durch die Services übermittelten, eingestellten oder dargestellten Inhalte.“

Also wenn das mal nicht frech ist …

Hier der Link zu dem Bericht auf Golem.de:
„Text & Tabellen – Alle Inhalte gehören Google “ http://www.golem.de/0709/54556.html
„Googles AGB von Text & Tabellen weiterhin unverändert “ http://www.golem.de/0709/54771.html

Ready To Take Off: Launch-Veranstaltung der 2008er Produkte von Microsoft

Als ich heute beim Herumstöbern in Blogs auf das neue Event „ready.to.take.off“ von Microsoft aufmerksam wurde, habe ich mich sofort angemeldet. Zum Launchevent von Visual Studio 2005, SQL-Server 2005, BizTalk-Server 2006 hatte ich Glück noch eine Karte zu reservieren. Das Event war sehr schnell ausverkauft.

Dieses Mal gibts neben Visual Studio 2008 auch den SQL-Server 2008, sowie den Windows Server 2008 und den Team Foundation Server als Give-Away!

Der Preis von 500,-€ ohne MwSt. ist für mich privat etwas happig, aber man bekommt auch Software dafür, die einen weitaus größeren Wert hat.

Hier ist der Link zur Anmeldung:

http://www.microsoft.com/germany/aktionen/ready-for-take-off/

Canon Pixma MP600 unter Vista

Vor einigen Wochen habe ich mir einen neuen Drucker als Ersatz für meinen defekten HP PSC 1610 gekauft: einen Canon Pixma MP600.

Dieses Mal habe ich mich sogar mal an die Bedienungsanleitung gehalten und die Treiber, sowie hunderte Megabyte an Software vorher installiert, bevor ich den Drucker an den Rechner angeschlossen habe. Weiterlesen