Ejemplo n.º 1
0
        /// <exception cref="PSSnapInException">
        /// One or more default mshsnapins cannot be loaded because the
        /// registry is not populated correctly.
        /// </exception>
        /// <exception cref="PSArgumentNullException">
        /// fileName is null.
        /// </exception>
        /// <exception cref="PSArgumentException">
        /// fileName does not specify proper file extension.
        /// </exception>
        /// <exception cref="XmlException">
        /// Unable to load/parse the file specified by fileName.
        /// </exception>
        internal new static RunspaceConfigForSingleShell Create(string consoleFile, out PSConsoleLoadException warning)
        {
            PSConsoleLoadException warning1 = null;

            s_mshsnapinTracer.WriteLine("Creating MshConsoleInfo. consoleFile={0}", consoleFile);

            MshConsoleInfo consoleInfo = MshConsoleInfo.CreateFromConsoleFile(consoleFile, out warning1);

            if (warning1 != null)
            {
                s_mshsnapinTracer.TraceWarning("There was a warning while creating MshConsoleInfo: {0}", warning1.Message);
            }

            // At this time, consoleInfo should not be null.
            // Otherwise, an exception should have been thrown up.
            if (consoleInfo != null)
            {
                RunspaceConfigForSingleShell rspcfg   = new RunspaceConfigForSingleShell(consoleInfo);
                PSConsoleLoadException       warning2 = null;

                rspcfg.LoadConsole(out warning2);

                if (warning2 != null)
                {
                    s_mshsnapinTracer.TraceWarning("There was a warning while loading console: {0}", warning2.Message);
                }

                warning = CombinePSConsoleLoadException(warning1, warning2);

                return(rspcfg);
            }

            warning = null;
            return(null);
        }
Ejemplo n.º 2
0
        internal static RunspaceConfigForSingleShell Create(string consoleFile, out PSConsoleLoadException warning)
        {
            PSConsoleLoadException cle = null;

            _mshsnapinTracer.WriteLine("Creating MshConsoleInfo. consoleFile={0}", new object[] { consoleFile });
            MshConsoleInfo consoleInfo = MshConsoleInfo.CreateFromConsoleFile(consoleFile, out cle);

            if (cle != null)
            {
                _mshsnapinTracer.TraceWarning("There was a warning while creating MshConsoleInfo: {0}", new object[] { cle.Message });
            }
            if (consoleInfo != null)
            {
                RunspaceConfigForSingleShell shell      = new RunspaceConfigForSingleShell(consoleInfo);
                PSConsoleLoadException       exception2 = null;
                shell.LoadConsole(out exception2);
                if (exception2 != null)
                {
                    _mshsnapinTracer.TraceWarning("There was a warning while loading console: {0}", new object[] { exception2.Message });
                }
                warning = CombinePSConsoleLoadException(cle, exception2);
                return(shell);
            }
            warning = null;
            return(null);
        }
 internal static RunspaceConfigForSingleShell Create(
     string consoleFile,
     out PSConsoleLoadException warning)
 {
     using (RunspaceConfigForSingleShell.tracer.TraceMethod())
     {
         PSConsoleLoadException cle = (PSConsoleLoadException)null;
         RunspaceConfigForSingleShell._mshsnapinTracer.WriteLine("Creating MshConsoleInfo. consoleFile={0}", (object)consoleFile);
         MshConsoleInfo fromConsoleFile = MshConsoleInfo.CreateFromConsoleFile(consoleFile, out cle);
         if (cle != null)
         {
             RunspaceConfigForSingleShell._mshsnapinTracer.TraceWarning("There was a warning while creating MshConsoleInfo: {0}", (object)cle.Message);
         }
         if (fromConsoleFile != null)
         {
             RunspaceConfigForSingleShell configForSingleShell = new RunspaceConfigForSingleShell(fromConsoleFile);
             PSConsoleLoadException       warning1             = (PSConsoleLoadException)null;
             configForSingleShell.LoadConsole(out warning1);
             if (warning1 != null)
             {
                 RunspaceConfigForSingleShell._mshsnapinTracer.TraceWarning("There was a warning while loading console: {0}", (object)warning1.Message);
             }
             warning = RunspaceConfigForSingleShell.CombinePSConsoleLoadException(cle, warning1);
             return(configForSingleShell);
         }
         warning = (PSConsoleLoadException)null;
         return((RunspaceConfigForSingleShell)null);
     }
 }