В .NET / Windows есть переменная окружения PROCESSOR_ARCHITECTURE
, которая определяет, является ли запущенный процесс x32, x64 или IA64.
Существует также метод API GetNativeSystemInfo
, который может определить, поддерживает ли ОС Windows x86-64.
Правда ли, что всегда будет версия x64.NET Framework, пока версия для x86 доступна на Windows x64?Или есть какие-либо средства для определения, какие платформы поддерживаются установкой .NET на компьютере?
А как насчет Mono / Linux или других реализаций сторонних разработчиков?Может ли версия Mono x86 работать на Linux x86-64?Как определить (программно), какие платформы поддерживаются установкой Mono?
Добавлено 16.11.2010
Я разрабатываю своего рода систему плагинов (хорошо,Я знаю, что есть система AddIns
, но она слишком затоплена конвейерными сборками).Я хочу выяснить, какие виды сборок могут быть загружены в процессе выполнения (представленном сборкой, не зависящей от платформы) и какие архитектуры сборок могут быть выполнены системой в изолированном процессе.Решение создать тестовые сборки для каждой архитектуры в системе и попытаться запустить его не выглядит элегантно.