void SolutionLoaded (object sender, SolutionEventArgs e)
		{
			if (!PackageManagementServices.Options.IsAutomaticPackageRestoreOnOpeningSolutionEnabled)
				return;

			var restorer = new PackageRestorer (e.Solution);
			DispatchService.BackgroundDispatch (() => restorer.Restore ());
		}
        void SolutionLoaded(object sender, SolutionEventArgs e)
        {
            if (!PackageManagementServices.Options.IsAutomaticPackageRestoreOnOpeningSolutionEnabled)
            {
                return;
            }

            var restorer = new PackageRestorer(e.Solution);

            DispatchService.BackgroundDispatch(() => restorer.Restore());
        }
        void RestoreAndCheckForUpdates()
        {
            bool checkUpdatesAfterRestore = ShouldCheckForUpdates && AnyProjectHasPackages();

            var restorer = new PackageRestorer(projectService.OpenSolution.Solution);

            DispatchService.BackgroundDispatch(() => {
                restorer.Restore();
                if (checkUpdatesAfterRestore && !restorer.RestoreFailed)
                {
                    CheckForUpdates();
                }
            });
        }
        void RestoreAndCheckForUpdates(Solution solution)
        {
            bool checkUpdatesAfterRestore = ShouldCheckForUpdates && AnyProjectHasPackages(solution);

            var packageManagementSolution = new PackageManagementSolution(new PackageManagementSolutionProjectService(solution));
            var restorer = new PackageRestorer(packageManagementSolution);

            PackageManagementBackgroundDispatcher.Dispatch(() => {
                restorer.Restore();
                if (checkUpdatesAfterRestore && !restorer.RestoreFailed)
                {
                    CheckForUpdates();
                }
                restorer = null;
            });
        }
		void RestoreAndCheckForUpdates ()
		{
			bool checkUpdatesAfterRestore = ShouldCheckForUpdates && AnyProjectHasPackages ();

			var restorer = new PackageRestorer (projectService.OpenSolution.Solution);
			DispatchService.BackgroundDispatch (() => {
				restorer.Restore ();
				if (checkUpdatesAfterRestore && !restorer.RestoreFailed) {
					CheckForUpdates ();
				}
			});
		}
		void RestoreAndCheckForUpdates (Solution solution)
		{
			bool checkUpdatesAfterRestore = ShouldCheckForUpdates && AnyProjectHasPackages (solution);

			var packageManagementSolution = new PackageManagementSolution (new PackageManagementSolutionProjectService (solution));
			var restorer = new PackageRestorer (packageManagementSolution);
			PackageManagementBackgroundDispatcher.Dispatch (() => {
				restorer.Restore ();
				if (checkUpdatesAfterRestore && !restorer.RestoreFailed) {
					CheckForUpdates ();
				}
				restorer = null;
			});
		}