Здравствуйте, Аноним, Вы писали:
А>Сборку .net можно откомпилировать как x86, x64 и AnyCPU (Itanium я трогать не собираюсь). А>Вот ни как не могу понять тайный смысл такого обширного выбора. Почему не оставить AnyCPU, ведь CLR ставится на определенную систему, разрядность которой ему известна. В результате при запуске сборки он может откомпилировать под текущую платформу. Зачем же разработчики предусмотрели возможность явно указывать определенную платформу? В каких случаях это реально полезно?
Один из примеров, зачем явно указывать разрядность.
Предположим вы используете стороннюю библиотеку, возможно не .Net.
Библиотека есть в двух вариантах, для x64 и x86.
Так вот, если для вашей сборки, использующей стороннюю библиотеку указать AnyCPU, то на x86 машине она будет искать x86 версию, а на x64 соответственно...
Если лично для вас нет разницы x86 или x64, то указывайте x86 и тогда на любой системе будет использоваться версия x86 библиотеки.