Von Sebastian P.R. Gingter, 1. August 2007, 21:20 Uhr

Wenn man nicht aufpasst, kann man mit .NET und 64bit - Systemen ganz schön auf die Nase fliegen. Ist mir heute passiert.

Folgende Tools, namentlich der Resourcer von Lutz Roeder und AFDLite von Andreas Flucke (eine Art mini-IDE für C#, Delphi.NET und Chrome) funktionieren nämlich nicht ohne weiteres auf einem x64 .NET Framework. Hintergrund bei AFDLite ist wohl, dass hier eine native 32bit-DLL geladen wird, beim Resourcer bin ich noch nicht ganz durchgestiegen was das Problem verursacht.

Was abhilft wäre zum Beispiel, die Assemblies nicht mit Target ‘AnyCPU’ zu kompilieren, sondern als Zielplatform x86 auszuwählen. Dann versucht das Framework nämlich nicht, die Programme auf 64bit zu optimieren. Nur: bei einer ausgelieferten .exe die gegen AnyCPU kompiliert wurde ist das etwas spät.

Abhilfe schafft hier ein Tool von Microsoft, welches mit dem Framework kommt: corflags.exe.

Mit
corflags.exe ASSEMBLY /32BIT+
wird dem Assembly ein 32bit Flag aufgedrückt. Die .NET Runtime versucht also nicht, die Anwendung auf x64 zu optimieren und führt sie als 32bittige Anwendung aus. Und prompt klappts bei AFDLite auch mit der Nachbar-DLL und im Falle des Resourcers auch mit dem Start.

Kommentiere den Artikel oder setze einen Trackback

Bisher keine Kommentare zum Artikel

  1. Bisher keine Kommentare

Kommentiere den Artikel



Kommentare zu diesem Artikel über RSS 2.0-Feed verfolgen