64Bit - neue Generation von Fehlerquellen

by admin 2. March 2008 02:36

Zuerst die gute Nachricht:

image

Nachdem das Entwickeln auf dem alten Rechner etwas langsam geworden ist, durfte ein neues System her.

Das mit einem 64Bit Windows 2008 und alles ist schnell.

Alles in allem eine Konfiguration die ich zum Entwickeln absolut empfehlen kann. Insbesondere Resharper in Verbindung mit WPF macht wieder Spaß. Auch ist die Hürde mal eben den Development Stack zu Debuggen deutlich gesunken.

Nun die schlechte Nachricht:

Der Umstieg auf 64Bit schaft eine neue Welt von Problemen.

Um mit den Worten von Walter zu sprechen: "You are entering a world of pain":

image

Für ein Projekt setzen wir NHibenate mit SQLite ein.

NHibernate lädt den ADO-Treiber über "Type.GetType(string)"

image

Das ganze funktioniert für die Tests wunderbar. Auch im WPF Design Mode wird die Datenbank korrekt geladen. Nur beim Starten den Anwendung lautet die Fehlermeldung von "Type.GetType(string)"

System.BadImageFormatException

Die eigentliche Fehlermeldung kommt jedoch nicht hoch und wird von NHibernate 2 Mal "gecatcht":

image

Besonders verwirrend wie gesagt, die Tests und selbst im WPF-Design Mode wird die Datenbank korrekt angesprochen.

Nach langem Debuggen, Haare raufen (habe jetzt fast ne Glatze) und googlen kam die zündende Idee den SQLite Driver selbst zu bauen und auf die korrekten CPU Einstellungen zu achten:

image

Und siehe da, Problem gelöst.

Ein etwas fader Beigeschmack bleibt. Die Tools und Fehlermeldungen um das Problem zu identifizieren sind obskur. Wie läßt sich sehen ob eine Anwendung in 32Bit oder 64Bit ausgeführt wird.

Vermutungen: Der Unittestrunner von Resharper und NUnit arbeiten mit 32Bit. Genauso der WPF Designer.

Hier erstmal Stopp: Es bleiben viele Fragen zum Umstieg von der 32Bit auf die 64Bit Welt und die Wage Hoffnung, das solche Probleme die Ausnahme bleiben.

enjoyed the post?

Tags:

Comments are closed

About Oliver

shades-of-orange.com code blog logo I build web applications using ASP.NET and have a passion for javascript. Enjoy MVC 4 and Orchard CMS, and I do TDD whenever I can. I like clean code. Love to spend time with my wife and our children. My profile on Stack Exchange, a network of free, community-driven Q&A sites

About Anton

shades-of-orange.com code blog logo I'm a software developer at teamaton. I code in C# and work with MVC, Orchard, SpecFlow, Coypu and NHibernate. I enjoy beach volleyball, board games and Coke.