Me gustaría saber durante la ejecución de un programa si se está ejecutando utilizando el tiempo de ejecución Mono o el tiempo de ejecución de Microsoft.¿Cómo detectar qué tiempo de ejecución de .NET se está utilizando (MS vs Mono)?
Actualmente estoy usando el siguiente código para determinar si estoy en un MS CLR:
static bool IsMicrosoftCLR()
{
return RuntimeEnvironment.GetRuntimeDirectory().Contains("Microsoft");
}
Sin embargo, esto es algo dependiente de la carpeta de instalación del tiempo de ejecución y no estoy seguro de si esto funcionará en todas las instalaciones.
¿Existe alguna forma mejor de verificar el tiempo de ejecución actual?
Gracias por los buenos consejos. –
Es posible que desee guardar (caché) el resultado también, llamar a la reflexión cada vez puede ser costoso. –