public void Main(string[] args) { var assemblyReslover = new AspNet5AssemblyResolver(_libraryManager); var scriptServicesBuilder = new ScriptServicesBuilder(Console, new DefaultLogProvider()).Cache(false).Repl(true); scriptServicesBuilder = IsMono ? scriptServicesBuilder.ScriptEngine<MonoScriptEngine>() : scriptServicesBuilder.ScriptEngine<RoslynScriptEngine>(); ((ScriptServicesBuilder)scriptServicesBuilder).Overrides[typeof (IAssemblyResolver)] = assemblyReslover; var scriptcs = scriptServicesBuilder.Build(); scriptcs.Repl.Initialize(assemblyReslover.GetAssemblyPaths(string.Empty), Enumerable.Empty<IScriptPack>()); try { while (ExecuteLine(scriptcs.Repl)) { } Console.WriteLine(); } catch (Exception ex) { var oldColor = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); Console.ForegroundColor = oldColor; } }
static void SetEngine(ScriptServicesBuilder builder) { var useMono = Type.GetType ("Mono.Runtime") != null; if (useMono) { builder.ScriptEngine<MonoScriptEngine> (); } else { builder.ScriptEngine<RoslynScriptEngine> (); } }
static void SetEngine(ScriptServicesBuilder builder) { var useMono = Type.GetType("Mono.Runtime") != null; if (useMono) { builder.ScriptEngine <MonoScriptEngine> (); } else { builder.ScriptEngine <RoslynScriptEngine> (); } }
private void StartScriptCs() { var name = "WPFScript.csx"; var console = new WPFConsoleRelay(); var configurator = new LoggerConfigurator(LogLevel.Info); configurator.Configure(console); var logger = configurator.GetLogger(); var init = new InitializationServices(logger); init.GetAppDomainAssemblyResolver().Initialize(); var builder = new ScriptServicesBuilder(console, logger, null, null, init) .Cache() .Debug(false) .LogLevel(LogLevel.Info) .ScriptName(name) .Repl(); var modules = new string[0]; var extension = Path.GetExtension(name); //OVERRIDES builder.ScriptHostFactory <WPFScriptHostFactory>(); builder.ScriptEngine <RoslynScriptEngine>(); builder.LoadModules(extension, modules); //BUILD SERVICE _service = builder.Build(); _service.Executor.Initialize(Enumerable.Empty <string>(), _service.ScriptPackResolver.GetPacks(), new string[0]); var types = new Type[] { typeof(IConsole), typeof(ScriptContext), typeof(Newtonsoft.Json.Converters.BinaryConverter) }; _service.Executor.AddReferenceAndImportNamespaces(types); EventAggr.Instance.GetEvent <WriteLineEvent>().Subscribe((text) => { string[] lines = text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); foreach (var line in lines.Where(l => !string.IsNullOrEmpty(l))) { _area.Document.Text += line; NewLine(); _area.Document.Text += ">"; } }); EventAggr.Instance.GetEvent <WriteEvent>().Subscribe((text) => { _area.Document.Text += text; } ); }
public void Main(string[] args) { var assemblyReslover = new AspNet5AssemblyResolver(_libraryManager); var scriptServicesBuilder = new ScriptServicesBuilder(Console, new DefaultLogProvider()).Cache(false).Repl(true); scriptServicesBuilder = IsMono ? scriptServicesBuilder.ScriptEngine <MonoScriptEngine>() : scriptServicesBuilder.ScriptEngine <RoslynScriptEngine>(); ((ScriptServicesBuilder)scriptServicesBuilder).Overrides[typeof(IAssemblyResolver)] = assemblyReslover; var scriptcs = scriptServicesBuilder.Build(); scriptcs.Repl.Initialize(assemblyReslover.GetAssemblyPaths(string.Empty), Enumerable.Empty <IScriptPack>()); try { while (ExecuteLine(scriptcs.Repl)) { } Console.WriteLine(); } catch (Exception ex) { var oldColor = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); Console.ForegroundColor = oldColor; } }
private ScriptServices CreateScriptServices() { var console = new PersonalTrainerConsole(); ILogProvider logger = new DefaultLogProvider(); var builder = new ScriptServicesBuilder(console, logger); builder.ScriptEngine<RoslynScriptEngine>(); builder.FileSystem<ScriptFileSystem>(); return builder.Build(); }
private ScriptServices CreateScriptServices() { var console = new PersonalTrainerConsole(); ILogProvider logger = new DefaultLogProvider(); var builder = new ScriptServicesBuilder(console, logger); builder.ScriptEngine <RoslynScriptEngine>(); builder.FileSystem <ScriptFileSystem>(); return(builder.Build()); }
private ScriptServices CreateScriptServices(bool useLogging) { var console = new ScriptConsole(); var configurator = new LoggerConfigurator(useLogging ? LogLevel.Debug : LogLevel.Info); configurator.Configure(console); var logger = configurator.GetLogger(); var builder = new ScriptServicesBuilder(console, logger); builder.ScriptEngine<RoslynScriptEngine>(); return builder.Build(); }
public void Initialize() { var console = (IConsole) new ScriptConsole(); var logProvider = new ColoredConsoleLogProvider(LogLevel.Info, console); var builder = new ScriptServicesBuilder(console, logProvider); builder.ScriptEngine <CSharpScriptEngine>(); var services = builder.Build(); Executor = (ScriptExecutor)services.Executor; Executor.Initialize(Enumerable.Empty <string>(), Enumerable.Empty <IScriptPack>()); }
public ScriptCsExtension(ScriptCsOptions options) { this.options = options; var console = (IConsole) new ScriptConsole(); var logProvider = new ColoredConsoleLogProvider(LogLevel.Info, console); var builder = new ScriptServicesBuilder(console, logProvider); //var useMono = Type.GetType("Mono.Runtime") != null; //if (useMono) //{ // builder.ScriptEngine<MonoScriptEngine>(); //} //else { builder.ScriptEngine <CSharpScriptEngine>(); //} scriptServices = builder.Build(); scriptExecutor = (ScriptExecutor)scriptServices.Executor; scriptExecutor.Initialize(Enumerable.Empty <string>(), Enumerable.Empty <IScriptPack>()); }