¿Qué FrameWork estoy usando? Fecha: 09/Ago/2004 (06/Ago/2004)
|
Existen varias formas de averiguar este dato, algunas más rápidas y otras más trabajosas de implementar, la más sencillita y rápida es usar System.Environment.Version la cual nos proporcionará tanto la versión Mayor-Menor como el número de compilación del FrameWork con el que se está ejecutando una aplicación. El tip de código que viene a continuación es un poco más lioso, pero también más didáctico, en el se hace uso de una llamada a una dll mediante InteropServices, la dll en cuestión es mscoree.dll y dentro de su interface pública contiene un método GetCORVersion el cuál nos proporcionará el dato pedido. Este podría ser un ejemplo de llamadas externas a funciones, por lo que espero lo encontreis un poquito interesante.
El código del truco es:
using System; using System.Runtime.InteropServices; using System.Text; namespace FrameWorkInfo { public class Info { //Llamadas a la libreria [DllImport("mscoree.dll")] static extern Int32 GetCORVersion ([MarshalAs(UnmanagedType.LPWStr)] StringBuilder buffer,Int32 buflen, ref Int32 numbytes); public static string Version() { int lenght = 1024; StringBuilder buffer = new StringBuilder(lenght); Int32 NBytes = 0; Int32 retorno = GetCORVersion(buffer,buffer.Capacity, ref NBytes); return buffer.ToString().Substring(0,NBytes-1); } } }