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