Example #1
0
            static IServiceProvider GetGlobalProvider()
            {
                var dte = Package.GetGlobalService(typeof(EnvDTE.DTE));

                if (dte == null)
                {
                    try
                    {
                        dte = ThreadHelper.Generic.Invoke(() => Package.GetGlobalService(typeof(EnvDTE.DTE)));
                        if (dte == null)
                        {
                            dte = RunningObjects.GetDTE(TimeSpan.FromMilliseconds(500));
                        }
                    }
                    catch (InvalidOperationException) // Thrown if ThreadHelper.Generic can't be run
                    {
                        dte = RunningObjects.GetDTE(TimeSpan.FromMilliseconds(500));
                    }
                }

                var ole = dte as Microsoft.VisualStudio.OLE.Interop.IServiceProvider;

                if (ole == null)
                {
                    return(new NullServiceProvider());
                }

                return(new OleServiceProvider(ole));
            }
Example #2
0
            private static IServiceProvider GetGlobalProvider()
            {
                var dte = Package.GetGlobalService(typeof(EnvDTE.DTE));

                if (dte == null)
                {
                    dte = ThreadHelper.Generic.Invoke(() => Package.GetGlobalService(typeof(EnvDTE.DTE)));
                    if (dte == null)
                    {
                        dte = RunningObjects.GetDTE(TimeSpan.FromMilliseconds(500));
                    }
                }

                var ole = dte as Microsoft.VisualStudio.OLE.Interop.IServiceProvider;

                if (ole == null)
                {
                    return(new NullServiceProvider());
                }

                return(new Microsoft.VisualStudio.Shell.ServiceProvider(ole));
            }