2010-07-19 3 views
2

Par défaut, mono ne fait confiance à aucune connexion SSL. Donc si je cours en mono je voudrais donner un message plutôt que de lancer une exception.Comment vérifier le mono lors de l'exécution

Comment vérifier si je cours sous mono lors de l'exécution? (Depuis au moment de la compilation de la CLI ne saurez pas)

Répondre

8

Je vais citer the Mono site:

code ayant qui dépend de l'exécution sous-jacente est considéré comme mauvais style de codage, mais parfois ce code est nécessaire pour travail autour des bugs d'exécution

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"); 
    } 
} 
3

ne pouvait pas vous attraper juste le System.Net.WebException et passer votre message up? C'est l'approche n ° 1 du site Mono ici: Using Trusted Roots Respectfully. Il y a un certain nombre de réponses supplémentaires (et quelques-unes de moins) impliquées si vous souhaitez en faire plus, mais le fait d'intercepter l'exception évite le problème de codage à l'exécution auquel tobsen fait référence.