Exemplo n.º 1
0
 internal static JobHandle CreateNewJob()
 {
     JobHandle job = new JobHandle();
     if (job.InitializeJob())
     {
         return job;
     }
     else
     {
         return null;
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Initializes the engine.
        /// </summary>
        /// 
        public void InitializeEngine()
        {
            this.RegisterCmdNameMappinginROT();
            this.RegisterCommandDispatcherinROT();

            Server.InitializeServer();
            Server.serverWait = new Thread(new ThreadStart(Server.WaitForMessage));
            Server.serverWait.Start();

            EnvDTE.DTE dte = ((IServiceProvider)VSMacrosPackage.Current).GetService(typeof(SDTE)) as EnvDTE.DTE;
            string version = dte.Version;

            Executor.executionEngine = new Process();
            string exeFileName = version.StartsWith("14.") ? "VS2015\\VisualStudio2015.Macros.ExecutionEngine.exe" : "VisualStudio.Macros.ExecutionEngine.exe";
            string processName = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), exeFileName);
            Executor.executionEngine.StartInfo.FileName = processName;
            Executor.executionEngine.StartInfo.UseShellExecute = false;
            Executor.executionEngine.StartInfo.Arguments = ProvidePipeArguments(Server.Guid, version);
            Executor.executionEngine.Start();

            Executor.Job = JobHandle.CreateNewJob();
            Executor.Job.AddProcess(Executor.executionEngine);
        }