2013-09-27 10 views
5

Sono confuso se il mio progetto Xamarin stia utilizzando il framework Mono o quello MS .Net.Forza Xamarin per usare Mono su Windows

Se creo una semplice app in stile console che utilizza questo codice per rilevare se è in esecuzione in Mono ma dice che non lo sono.

using System; 

namespace ConsoleTest 
{ 
    class MainClass 
    { 
     public static void Main(string[] args) 
     { 
      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"); 
      Console.ReadLine(); 
     } 
    } 
} 

Lo stesso codice in esecuzione in Xamarin su Mac OSX fa dire che è in esecuzione in Mono.

Indietro su Windows, sotto le impostazioni del mio progetto -> Build -> Generale -> Target Framework è impostato su "Mono/.NET 4.0". Non capisco, vuol dire che userà Mono o .NET 4.0?

Voglio forzarlo per utilizzare il framework Mono!

+0

Tutto ciò che fa è impostare quale versione di .Net al quale riferirsi durante la compilazione (2.0, 3.0, 3.5, 4.0, 4.5, ecc.) Si desidera modificare il "Runtime". C'è un'impostazione da qualche parte lì dentro, ma non ricordo esattamente dove. – jpobst

+0

Ok. Ho appena avuto uno sguardo attraverso le opzioni del progetto e delle soluzioni ma non è stato possibile trovare un'impostazione ovunque./ – CodeAndCats

+3

Dovrebbero essere 'Preferenze'->' Progetti' ->. 'NET Runtimes' – Jester

risposta

3

Su Windows per impostazione predefinita XS utilizza il tempo di esecuzione .NET ma se è stato installato il framework mono è possibile impostare il tempo di esecuzione predefinito su "Mono" e controllare di nuovo l'output del codice.

È possibile impostare il tempo di esecuzione predefinito mono da qui: Su Windows => Xamarin Studio => Strumenti => Opzioni => Progetti e .NETRuntimes"