2011-08-16 15 views

Respuesta

18

Desde el FAQ Mono:

http://www.mono-project.com/FAQ:_Technical

A continuación se muestra directamente de ese enlace:

¿Cómo puedo detectar si estoy corriendo en ¿Mono?

código que tiene que depende del tiempo de ejecución subyacente se considera que es mal estilo de codificación, pero a veces dicho código es necesario trabajar alrededor errores de tiempo de ejecución. La forma soportada de detección de Mono es:

using System; 

class Program { 
    static void Main() 
    { 
     Type t = Type.GetType ("Mono.Runtime"); 
     if (t != null) 
      Console.WriteLine ("You are running with the Mono VM"); 
     else 
      Console.WriteLine ("You are running something else"); 
    } 
} 

Cualquier otro corte, tal como comprobar el tipo subyacente de System.Int32 o de otros tipos corlib, está condenado al fracaso en el futuro.

De largo y corto, simplemente no lo haga.

+0

Gracias Adam. Solo pregunto porque es posible que deba solucionar un error. – Simon

+0

@Simon no hay problema - a veces incluso cosas que aparentemente no deberías hacer se requieren. –

+0

resulta que es un duplicado :) pero todavía tenía una buena respuesta – Simon

Cuestiones relacionadas