Почему любое приложение ЦП работает на 32-битной системе

Я создаю новое консольное приложение С#, и в методе Main есть только одна строка кода.

Console.ReadKey();

Когда я создаю проект с любой платформой ЦП, приложение работает как 32-разрядное приложение. (Я проверяю это в диспетчере задач и инструменте SigCheck). Когда я создаю проект на платформе x64, приложение работает как 64-битное приложение.

Мой вопрос в том, почему приложение «любой процессор» не работает как 64-битное приложение в Windows x64.

Система: Windows 8.1 x64, Visual Studio 2015, .Net framework 4.5.2


person Fanliver    schedule 22.12.2016    source источник
comment
В свойствах проекта есть флажок предпочитать 32-разрядную версию, если его снять, программа будет работать в 64-разрядной версии.   -  person Matteo Umili    schedule 22.12.2016
comment
blogs.microsoft.co.il/sasha/2012/04/04/   -  person Aron    schedule 22.12.2016
comment
@Matteo Umili: Проблема в том, что приложение работает в 32-битной версии, даже если я установил «Prefer32Bit» false‹/Prefer32Bit в файле csproj.   -  person Fanliver    schedule 22.12.2016
comment
@Fanliver Вы перестроили проект? Почему бы вам не отредактировать его с помощью IDE?   -  person Matteo Umili    schedule 22.12.2016
comment
да. Я перестроил свой проект с помощью Visual Studio 2015. При печати значения Environment.Is64BitProcess я получил истинный результат. Но когда я использовал инструмент Sigcheck (technet.microsoft.com/en-us/sysinternals /bb897441.aspx), чтобы проверить, он всегда возвращал 32-разрядное значение для типа машины.   -  person Fanliver    schedule 06.01.2017