Bij het compileren van een applicatie kan het 'Platform target' worden opgegeven, waarmee gespecificeerd wordt of de toepassing onder 32-bits (x86), 64-bits of 'Any CPU' kan draaien.
Typisch staat deze instelling op 'Any CPU', waarmee hij zich vormt naar de omgeving waar de toepassing op gestart wordt. Als de toepassing op een 32-bits operating system gestart wordt, dan draait de toepassing als 32-bits toepassing. Als de toepassing op een 64-bits operating system gestart wordt, dan draait de toepassing als 64-bits toepassing.
Er kan echter een probleem ontstaan, als bij het compileren deze instelling op 'Any CPU' staat, de toepassing een 32-bits component gebruikt, en de toepassing wordt gestart op een 64-bits OS. Bij de aanroep van het 32-bits component zal een foutmelding optreden omdat de toepassing zelf in 64-bits mode draait en daardoor geen communicatie met het 32-bits component kan opzetten.
Om dit probleem op te lossen, moet de toepassing gecompileerd worden met de "x86" vlag, zodat de toepassing altijd (ook op 64-bits operating systems) in 32-bits mode zal draaien.
Als een toepassing gecompileerd is als 'Any CPU' dan hoeft deze niet opnieuw gecompileerd te worden om het snel op 32-bits in te stellen. Met behulp van de tool CORFLAGS.EXE kan de vlag, die aangeeft of het een 32-bits toepassing is, omgezet worden: CORFLAGS.EXE <Assembly> /32BIT+
waarbij <Assembly> de bestandsnaam van de aan te passen toepassing is.
Meer informatie over deze tool is te vinden op de MSDN site: