示例#1
0
 private static void Main(string[] args)
 {
     if (args.Length != 3)
     {
         return;
     }
     ExecutionHost.RunServer(args[0], args[1], int.Parse(args[2]));
 }
        public OpenDocumentViewModel(MainViewModel mainViewModel, DocumentViewModel document)
        {
            Document = document;
            MainViewModel = mainViewModel;
            NuGet = new NuGetDocumentViewModel(mainViewModel.NuGet);
            _dispatcher = Dispatcher.CurrentDispatcher;

            var roslynHost = mainViewModel.RoslynHost;

            _workingDirectory = Directory.GetCurrentDirectory();

            Platform = Platform.X86;
            _executionHost = new ExecutionHost(GetHostExeName(), _workingDirectory,
                roslynHost.DefaultReferences.OfType<PortableExecutableReference>().Select(x => x.FilePath),
                roslynHost.DefaultImports, mainViewModel.NuGetProvider, mainViewModel.ChildProcessManager);
            _executionHost.ExecutionCompleted += OnExecutionCompleted;

            _resultsLock = new object();
            Results = new ObservableCollection<ResultObjectViewModel>();
            BindingOperations.EnableCollectionSynchronization(Results, _resultsLock);

            RunCommand = new DelegateCommand(Run, () => !IsRunning);
            RestartHostCommand = new DelegateCommand(RestartHost);
        }
示例#3
0
 public LazyRemoteService(ExecutionHost host)
 {
     _cancellationSource = new CancellationTokenSource();
     InitializedService = new Lazy<Task<RemoteService>>(TryStartAndInitializeProcessAsync);
     _host = host;
 }
 public void Close()
 {
     _executionHost?.Dispose();
     _executionHost = null;
 }
示例#5
0
 public LazyRemoteService(ExecutionHost host)
 {
     _cancellationSource = new CancellationTokenSource();
     InitializedService  = new Lazy <Task <RemoteService> >(TryStartAndInitializeProcessAsync);
     _host = host;
 }
示例#6
0
 private static void Main(string[] args)
 {
     ExecutionHost.RunServer(args[0], args[1]);
     Thread.Sleep(Timeout.Infinite);
 }