Ответ 1
Ничто не изменилось в .NET 4.5.1, которое влияет на битовость процесса.
Очень распространенная ловушка заключается в том, что программисты уделяют слишком много внимания имени платформы. Например, отображается в диалоговом окне Build + Configuration Manager. Это имя не имеет отношения к управляемым проектам. Это имеет значение только для проектов, которые генерируют код по-разному на основе выбора платформы. Проекты на С++.
Чем хуже то, что имя платформы по умолчанию изменилось между разными версиями VS. Он всегда был AnyCPU. Затем он был изменен на x86 в VS2010. Это вызвало огромную путаницу, поэтому оно было изменено на AnyCPU в VS2012.
Реальная настройка, которая имеет эффект, находится в Project + Properties, вкладке Build, целевой настройке платформы для С# IDE. Для VS2012 и вверх также установите флажок "Предпочтительно 32-бит". Только для проекта EXE он запускается первым и блокирует бит. Если вы выберете x86 (или отметьте галочкой), тогда CLR будет проинструктирован использовать джиттер x86 вместо джиттера x64.
Флажок "Предпочтительный 32-разрядный" включен по умолчанию для нового проекта. Таким образом, у вас уже есть автоматическое несоответствие между именем платформы AnyCPU и фактической битоностью текущего процесса. О, радость.