static Defaults() { //use the simple logger if on unix as the color setting relies on p/invoke if (IsRunningOnMono ()) { _logger = new MessageLoggerProxy (new SimpleMessageLogger ()); FrameworkVersion=Utilities.FrameworkVersion.NET4_5; } else { _logger = new MessageLoggerProxy(new ConsoleMessageLogger()); var frameworkVersionsToCheck = new List<IFrameworkVersion>(); frameworkVersionsToCheck.Add(Utilities.FrameworkVersion.NET4_5); frameworkVersionsToCheck.Add(Utilities.FrameworkVersion.NET4_0.Full); frameworkVersionsToCheck.Add(Utilities.FrameworkVersion.NET4_0.Client); frameworkVersionsToCheck.Add(Utilities.FrameworkVersion.NET3_5); frameworkVersionsToCheck.Add(Utilities.FrameworkVersion.NET3_0); frameworkVersionsToCheck.Add(Utilities.FrameworkVersion.NET2_0); foreach (IFrameworkVersion frameworkVersion in frameworkVersionsToCheck) { if (frameworkVersion.IsFrameworkInstalled()) { FrameworkVersion = frameworkVersion; return; } } } }