Mi piacerebbe sapere durante l'esecuzione di un programma se viene eseguito utilizzando il runtime Mono o il runtime Microsoft.Come rilevare quale runtime .NET viene utilizzato (MS vs Mono)?
Attualmente sto usando il seguente codice per determinare se sono su un MS CLR:
static bool IsMicrosoftCLR()
{
return RuntimeEnvironment.GetRuntimeDirectory().Contains("Microsoft");
}
Tuttavia, questo è un po 'dipende dalla cartella di installazione del runtime e io non sono sicuro se questo funzionerà su tutte le installazioni.
C'è un modo migliore per verificare il runtime corrente?
Grazie per i buoni suggerimenti. –
Si potrebbe desiderare di salvare (cache) anche il risultato, chiamare la riflessione ogni volta potrebbe essere costoso. –