./2287 > En fait ouais, c'est le comportement par défaut de compiler en AnyCPU, mais ce n'était pas le cas pour les appli créées avec Visual Studio 2010 (=> x86). Après, le développeur reste libre de choisir. En général, c'est un flag assez arbitraire puisque les applications sont compilées en CIL… Mais tu peux faire des assemblies mixtes qui incorporent du code natif (donc non portable), dans ce cas, c'est vraiment à prendre au sérieux. Sinon, ça permet d'éviter à ton application de se lancer sur une architecture pour laquelle tu saurais que le code ne fonctionne pas. (Parce que tu appelles une DLL native compilée pour telle architecture, ou parce que tu as un bug dans ton programme…

)
Sur PC x64, le flag peut vraiment avoir une grosse différence. Sur la même machine, tu peux exécuter le JIT x86 ou le JIT x64, et les deux modes d'exécution sont suffisamment différents pour que ton application se comporte différemment. (Rien que par le fait que WoW64 soit un mini sandbox, par exemple… Mais aussi parce que les caractéristiques de performance des deux modes d'exécution sont différentes, et que les deux JIT optimisent pas les mêmes choses et pas de la même façon…)
Ensuite, avec .NET 4.5/Visual Studio 2012/Windows 8 Microsoft a rajouté le flag "AnyCPU mais si tu es sur x64 alors exécute en x86"…
En fait, ça devient vite compliqué ces choses là
./2288 > Heu… Ou pas ?

Il me semble que .NET/CLR a été créé dès le départ dans le but unique d'être compilé en JIT.