Archiv der Kategorie: .NET

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

.NET: Spy++ für Windows Forms

Heute bin ich zufällig auf einen Artikel im MSDN-Magazin gestoßen, in dem auf ein Tool namens Managed Spy aufmerksam gemacht wurde. Damit kann man in .NET GUI-Assemblies reinschauen und sich beispielsweise Events oder Eigenschaften der GUI-Objekte anzeigen lassen.

fig02.gif

Auf der Seite des Artikels kann man das Tool samt Quellcode herunterladen und testen.

Link zum MSDN-Artikel: http://msdn.microsoft.com/msdnmag/issues/06/04/ManagedSpy/

VS 2005: Probleme mit Icons in MDI-Fenstern

Icons im MDI-Fenster sind wohl im neuen Visual Studio 2005 immer noch nicht wirklich unterstützt. Ich habe heute eine Oberfläche geschrieben, in der die Client-Windows maximiert im MDI-Container dargestellt werden. Dabei habe ich mich allerdings sehr gewundert, dass dabei immer das C#-Standard-Icon angezeigt wurde – und nicht das Icon, das ich selbst definiert hatte.

Nachdem ich ziemlich lange nach dem Problem gegoogelt hatte, habe ich eine Lösung gefunden:

Überschreiben des Shown-Ereignisses: Wenn ich im Shown-Ereignis erst das Icon setze und anschließend die Client-Forms maximiere, dann klappt das mit dem Icon 🙂

Das Problem ist aber schon seit längerem bei Microsoft bekannt, wie der Eintrag aus der Newsgroup zeigt:  http://groups.google.de/group/microsoft.public.dotnet.framework.windowsforms/browse_thread/thread/79b2c2a015e01f0f/4978aa6b78d60cf6

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

Visual Studio 2005: Linker Error LNK2022: metadata operation failed (80131195)

Beim Kompilieren meines InterOp-Projektes erhielt ich heute die Fehlermeldung „error LNK2022: metadata operation failed (80131195) : Die benutzerdefinierten Attribute sind nicht konsistent: (0x0c0003bd).“ – eine echt tolle Fehlermeldung, mit der man sofort etwas anfangen kann!

Die MSDN ist an dieser Stelle auch nicht wirklich hilfreich 🙁

Weiterlesen