Каков рекомендуемый способ программно определить версию исполнения Mono?
Мы столкнулись с различными проблемами, когда наше .Net-приложение используется со старыми версиями Mono. Иногда мы можем обойти эти проблемы, если мы знаем, с какой версией мы имеем дело, но иногда мы не можем.
Решение для нас будет заключаться в том, чтобы программно определить версию Mono, а затем мы можем прозрачно применять обходные пути. Если версия Mono слишком старая, мы предложим пользователю обновить.
Мы можем обнаружить, что Mono - это наша среда выполнения с чем-то вроде этого:
bool isMonoRuntime = Type.GetType("Mono.Runtime") != null;
Как мы можем также надежно определить моно версию, не указав ее косвенно? Чтобы быть ясным, нам нужен номер выпуска Mono, а не номер версии .Net CLR.