public void Quit()
 {
     try
     {
         Dte.Quit();
     }
     catch (Exception) { Console.WriteLine("Ocorreu um erro ao finalizar o DTE mas o processamento prossegue"); }
     // Ultimate solution
     KillInstance();
 }
예제 #2
0
        public virtual RetCode Shutdown()
        {
            RetCode result;

            try
            {
                result = RetCode.Success;

                if (Solution != null)
                {
                    result = ExecuteWithRetry(() =>
                    {
                        Solution.Close();
                        return(true);
                    }, 50, 250);

                    Solution = null;
                }

                if (result == RetCode.Success && Dte != null)
                {
                    result = ExecuteWithRetry(() =>
                    {
                        Dte.Quit();
                        return(true);
                    }, 50, 250);

                    Dte = null;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());

                result = RetCode.Failure;
            }

            return(result);
        }