Schlagwort-Archive: .NET

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

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/

Vorbereitung auf MCTS (Prüfung 70-536) mit Testking-Unterlagen

 Ich habe mir zur Vorbereitung auf die Basisprüfung 70-536 (.NET Grundlagen) Testfragen usw. bei Testking.com bestellt. Da ich Testking schon öfter gehört hatte, habe ich mich für diesen Anbieter entschieden. Für die Prüfungsvorbereitung gibt es aber noch zahlreiche andere Anbieter.

Für ca. 50 Euro (59,99 $) habe ich dann einen Aktivierungscode für die Software erhalten – mit dem Hinweis, dass diese Nummer personalisiert sei und wenn ich sie weitergebe, gibts Ärger.

Nachdem ich mir die Java-Software heruntergeladen habe, konnte ich zwei Teilprogramme ausprobieren: zum einen die „Interactive Testing Engine“ und zum anderen einen „IPad-Viewer“. Weiterlesen