Esempio n. 1
0
        public DesignTimeHostCompiler(ApplicationShutdown shutdown, IFileWatcher watcher, Stream stream)
        {
            _shutdown = shutdown;
            _queue    = new ProcessingQueue(stream);
            _queue.ProjectCompiled     += OnProjectCompiled;
            _queue.ProjectsInitialized += ProjectContextsInitialized;
            _queue.ProjectChanged      += _ => shutdown.RequestShutdownWaitForDebugger();
            _queue.ProjectSources      += files =>
            {
                foreach (var file in files)
                {
                    watcher.WatchFile(file);
                }
            };
            _queue.Error += OnError;

            _queue.Closed += OnClosed;
            _queue.Start();

            var obj = new JObject();

            obj["Version"] = 1;

            _queue.Send(new DesignTimeMessage
            {
                HostId      = "Application",
                MessageType = "EnumerateProjectContexts",
                Payload     = obj
            });
        }
Esempio n. 2
0
        public DesignTimeHostCompiler(ApplicationShutdown shutdown, IFileWatcher watcher, Stream stream)
        {
            _shutdown = shutdown;
            _queue = new ProcessingQueue(stream);
            _queue.ProjectCompiled += OnProjectCompiled;
            _queue.ProjectsInitialized += ProjectContextsInitialized;
            _queue.ProjectChanged += _ => shutdown.RequestShutdownWaitForDebugger();
            _queue.ProjectSources += files =>
            {
                foreach (var file in files)
                {
                    watcher.WatchFile(file);
                }
            };
            _queue.Error += OnError;

            _queue.Closed += OnClosed;
            _queue.Start();

            var obj = new JObject();
            obj["Version"] = 1;

            _queue.Send(new DesignTimeMessage
            {
                HostId = "Application",
                MessageType = "EnumerateProjectContexts",
                Payload = obj
            });
        }