Las diferentes versiones de la plataforma .NET tienen diversas funcionalidades por lo que, cuando usemos algo específico de una determinada, resultaría de mucha utilidad comprobar al comienzo del programa la versión de .NET que esá ejecutando nuestro código.

Una primera idea para conseguirlo podría ser cargar el ensamblado MSCorlib.dll y averiguar su versión al igual que se puede hacer con cualquier otro ensamblado propio. Posible pero complicado.

La solución es mucho más fácil que todo eso y consiste simplemente en usar el objeto Environment así:

Version v = System.Environment.Version;

Con esto obtendremos la versión actual de la plataforma dentro de una clase Version. Podemos acceder a cada uno de los números de la versión usando las propiedades Major, Minor, Build y Revision de este objeto (por ejemplo, para ver si estamos usando la versión 1.1 de la plataforma deberemos comprobar que Major y Minor son 1), o la cadena completa con ToString().

La clase Environment tiene algunos otros métodos y propiedades muy interesantes que permiten averiguar muchas cosas sobre el entorno de ejecución de nuestro programa. Por ejemplo, para saber si hay algún usuario autenticado y trabajando de forma interactiva en el ordenador basta con usar la propiedad UserInteractive. Para saber la versión del sistema operativo basta con usar la propiedad OSVersion. Échale un vistazo a su documentación.

Escrito por un humano, no por una IA