示例#1
0
        private Repl GetRepl(string[] args, out MemoryBufferConsole memoryBufferConsole)
        {
            SetProfile();
            var arguments             = ParseArguments(args);
            var scriptServicesBuilder = ScriptServicesBuilderFactory.Create(arguments.CommandArguments, arguments.ScriptArguments);
            IInitializationServices _initializationServices = scriptServicesBuilder.InitializationServices;
            IFileSystem             _fileSystem             = _initializationServices.GetFileSystem();

            if (_fileSystem.PackagesFile == null)
            {
                throw new ArgumentException("The file system provided by the initialization services provided by the script services builder has a null packages file.");
            }

            if (_fileSystem.PackagesFolder == null)
            {
                throw new ArgumentException("The file system provided by the initialization services provided by the script services builder has a null package folder.");
            }

            ScriptServices scriptServices = scriptServicesBuilder.Build();

            memoryBufferConsole = new MemoryBufferConsole();
            Repl repl = new Repl(arguments.ScriptArguments, _fileSystem, scriptServices.Engine,
                                 scriptServices.ObjectSerializer, scriptServices.Logger, memoryBufferConsole,
                                 scriptServices.FilePreProcessor, scriptServices.ReplCommands);

            var workingDirectory = _fileSystem.CurrentDirectory;
            var assemblies       = scriptServices.AssemblyResolver.GetAssemblyPaths(workingDirectory);
            var scriptPacks      = scriptServices.ScriptPackResolver.GetPacks();

            repl.Initialize(assemblies, scriptPacks, null);

            return(repl);
        }
示例#2
0
        private ScriptState <object> GetRepl(string[] args, out MemoryBufferConsole memoryBufferConsole)
        {
            SetProfile();
            //ScriptCsArgs arguments = ParseArguments(args);
            //	var scriptServicesBuilder = ScriptServicesBuilderFactory.Create(Config.Create(arguments), args);
            //   IInitializationServices _initializationServices = scriptServicesBuilder.InitializationServices;
            //  IFileSystem _fileSystem = _initializationServices.GetFileSystem();

            /* if (_fileSystem.PackagesFile == null)
             * {
             *   throw new ArgumentException("The file system provided by the initialization services provided by the script services builder has a null packages file.");
             * }
             *
             * if (_fileSystem.PackagesFolder == null)
             * {
             *   throw new ArgumentException("The file system provided by the initialization services provided by the script services builder has a null package folder.");
             * }*/

            //ScriptServices scriptServices = scriptServicesBuilder.Build();
            memoryBufferConsole = new MemoryBufferConsole();

            /* Repl repl = new Repl(
             *   args,
             *   _fileSystem,
             *   scriptServices.Engine,
             *   scriptServices.ObjectSerializer,
             *   scriptServices.LogProvider,
             *   scriptServices.ScriptLibraryComposer,
             *   memoryBufferConsole,
             *   scriptServices.FilePreProcessor,
             *   scriptServices.ReplCommands,
             *   new Printers(new ObjectSerializer()),
             *   new ScriptInfo());*/

            ScriptState <Object> repl = CSharpScript.RunAsync("").Result;

            //  var workingDirectory = _fileSystem.CurrentDirectory;
            // var assemblies = scriptServices.AssemblyResolver.GetAssemblyPaths(workingDirectory);
            // var scriptPacks = scriptServices.ScriptPackResolver.GetPacks();

            //  repl.Initialize(assemblies, scriptPacks, null);
            return(repl);
        }