У .NET 4.5 та Visual Studio 11 сир переміщено. За замовчуванням для більшості .NET проектів знову-таки AnyCPU, але для AnyCPU зараз є більше одного значення. Існує додатковий підтип AnyCPU, "Будь-який 32-розрядний процесор", який є новим за замовчуванням (загалом, зараз існує п'ять варіантів коммутатора компілятора / платформи C #: x86, Itanium, x64, anycpu та anycpu32bitferferred ). При використанні аромату «Віддати перевагу 32-бітовому» AnyCPU семантика така:
- Якщо процес працює в 32-бітній системі Windows, він працює як 32-бітний процес. IL компілюється до машинного коду x86.
- Якщо процес працює в 64-бітній системі Windows, він працює як 32-бітний процес. IL компілюється до машинного коду x86.
- Якщо процес працює в системі Windows ARM, він працює як 32-бітний процес. IL складається з машинного коду ARM.
Відмінність між "будь-яким 32-бітним процесором, який віддав перевагу процесору" та "x86" полягає лише в цьому: програма .NET, компільована до x86, не працюватиме в системі Windows ARM, але додаток "Будь-який 32-бітний процесор, який бажаний" буде успішно працювати.