Kategorie
.net c# wpf xna

XNA: Strzeż się 64 bitów!

strzez-sie-x64Właściwie sam tytuł wpisu, można traktować jako podsumowanie go. Wszystko zaczęło się od 64bitowego Windowsa i kompilacji projektu …

Could not load file or assembly…

Otóż jak się okazuję, XNA Framework jest 32 bitowy i stąd, na 64 bitowym systemie, może pojawić się błąd (jak w nagłówku powyżej), którego identyfikacja, na pierwszy rzut oka nie wydaje się być łatwa, w sytuacji gdy wszystko znajduje się na swoim miejscu, a ponadto referencje prawidłowo wskazują to miejsce. Cały problem rozbija się o tryb kompilacji naszego kodu.

Problem pojawia się tylko w 64 bitowych systemach, w przypadku wyboru opcji „Any Cpu” lub „x64”. Jak napisał Shawn Hargreaves, jedynym rozwiązaniem tego problemu jest kompilacja w trybie „x86”. Warto jednak zauważyć, że problem ten nie występuje w przypadku samego XNA, jeśli ustawimy „Any Cpu” w projekcie. Jednak jeśli w solucji posiadamy inne projekty, np. WindowsForms lub WPF i ręcznie dodaliśmy w nich referencję do XNA, wtedy już tak.

Jeżeli jesteście zainteresowani większymi szczegółami, dlatego tak się dzieje, zapraszam do tego wpisu.

Aby uprzedzić ewentualne pytania: zdjęcie do dzisiejszego wpisu pochodzi stąd (ten uśmiechnięty osobnik to nie ja).

Be Sociable, Share!