Mit anyCPU gegen 32-bit/64-bit-Durcheinander

Als ich versuchte, ein C#-Projekt das erste Mal unter Windows 7 zu kompilieren, bekam ich diese Fehlermeldung:

Failure scanning "D:\work\Projekt\util\Erweiterungen.Core.dll" for extensions.
Die Datei oder Assembly "file:///D:\work\Projekt\util\Erweiterungen.Core.dll" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden.

Die Erklärung:

Die betreffende, alte Utility-DLL wurde damals für der Plattform x86 kompiliert und das bedeutet eine 32-bit Version, während das Hauptprojekt mit anyCPU gebaut wird. Das führte jetzt meinem 64bit-System zu Problemen. Also musste ich das alte Miniprojekt, aus dem die DLL stammt, wieder aus den Tiefen von Subversion hervorkramen und mit der Build-Konfiguration anyCPU neu erstellen. Letztendlich dauerte es sogar noch etwas länger, weil das Projekt .NET 2 verwendete, das wir aber wirklich nicht mehr einsetzen wollen.

Hier ist übrigens ein interessanter Hintergrundartikel, der u.a. die möglichen Ausprägungen von AnyCPU erklärt.