Dowolny procesor - preferuj 32-bitowy

Co robi Dowolny procesor - preferuje opcję 32-bitową?

Chociaż wiem, że WinRT nie może obsługiwać exe i może uruchamiać tylko aplikacje Windows Store, jest kilka pytańistnieć naPrzepełnienie stosu które zadają to samo pytanie i obie to odwołująblog to mówi:

W .NET 4.5 i Visual Studio 11 ser został przeniesiony. Domyślnie większość projektów .NET to ponownie AnyCPU, ale teraz istnieje więcej niż jedno znaczenie AnyCPU. Istnieje dodatkowy podtyp AnyCPU, „Dowolny preferowany procesor 32-bitowy”, który jest nowym ustawieniem domyślnym (ogólnie rzecz biorąc, istnieje pięć opcji dla przełącznika kompilatora C # / platformy: x86, Itanium, x64, anycpu i anycpu32bitpreferred ). W przypadku tego smaku AnyCPU semantyka jest następująca:

Jeśli proces działa w 32-bitowym systemie Windows, działa jako proces 32-bitowy. IL jest kompilowany do kodu maszynowego x86.Jeśli proces działa w 64-bitowym systemie Windows, działa jako proces 32-bitowy. IL jest kompilowany do kodu maszynowego x86.Jeśli proces działa w systemie ARM Windows, działa jako proces 32-bitowy. IL jest kompilowany do kodu maszynowego ARM.

Jednakże, po zakupie mojego Surface RT, utworzyłem program Hello World, ustawiłem go na dowolny CPU, zaznaczyłem flagę Preferuj 32 bity, skompilowałem i skopiowałem go do mojego Surface. Kiedy uruchomiłem program, system operacyjny powiedział mi, że nie może uruchomić programu i że powinienem spojrzeć na rynek tak, jak w przypadku każdego exe x86 / x64. Dokładnie wyświetlany komunikat brzmiał: „Ta aplikacja nie może działać na twoim komputerze. Aby znaleźć aplikacje na ten komputer, otwórz Sklep Windows”.

Co to właściwie robi i czy można skompilować dowolną aplikację CPU dla Window RT na ARM?

questionAnswers(2)

yourAnswerToTheQuestion