/// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { base.Initialize(); // Add our command handlers for menu (commands must exist in the .vsct file) AddMenuCommandHandlers(); // IMPORTANT: Do NOT do anything that can lead to a call to ServiceLocator.GetGlobalService(). // Doing so is illegal and may cause VS to hang. _dte = (DTE)GetService(typeof(SDTE)); Debug.Assert(_dte != null); _dteEvents = _dte.Events.DTEEvents; _dteEvents.OnBeginShutdown += OnBeginShutDown; // set default credential provider for the HttpClient var webProxy = (IVsWebProxy)GetService(typeof(SVsWebProxy)); Debug.Assert(webProxy != null); var settings = Settings.LoadDefaultSettings( _solutionManager == null ? null : _solutionManager.SolutionFileSystem, configFileName: null, machineWideSettings: MachineWideSettings); var packageSourceProvider = new PackageSourceProvider(settings); HttpClient.DefaultCredentialProvider = new SettingsCredentialProvider(new VSRequestCredentialProvider(webProxy), packageSourceProvider); // when NuGet loads, if the current solution has package // restore mode enabled, we make sure every thing is set up correctly. // For example, projects which were added outside of VS need to have // the <Import> element added. if (PackageRestoreManager.IsCurrentSolutionEnabledForRestore) { if (VsVersionHelper.IsVisualStudio2013) { // Run on a background thread in VS2013 to avoid CPS hangs. The modal loading dialog will block // until this completes. ThreadPool.QueueUserWorkItem(new WaitCallback((obj) => PackageRestoreManager.EnableCurrentSolutionForRestore(fromActivation: false))); } else { PackageRestoreManager.EnableCurrentSolutionForRestore(fromActivation: false); } } // when NuGet loads, if the current solution has some package // folders marked for deletion (because a previous uninstalltion didn't succeed), // delete them now. if (SolutionManager.IsSolutionOpen) { DeleteOnRestart.DeleteMarkedPackageDirectories(); } }
/// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { base.Initialize(); // Add our command handlers for menu (commands must exist in the .vsct file) AddMenuCommandHandlers(); // IMPORTANT: Do NOT do anything that can lead to a call to ServiceLocator.GetGlobalService(). // Doing so is illegal and may cause VS to hang. _dte = (DTE)GetService(typeof(SDTE)); Debug.Assert(_dte != null); // set default credential provider for the HttpClient var webProxy = (IVsWebProxy)GetService(typeof(SVsWebProxy)); Debug.Assert(webProxy != null); var settings = Settings.LoadDefaultSettings(_solutionManager == null ? null : _solutionManager.SolutionFileSystem); var packageSourceProvider = new PackageSourceProvider(settings); HttpClient.DefaultCredentialProvider = new SettingsCredentialProvider(new VSRequestCredentialProvider(webProxy), packageSourceProvider); // when NuGet loads, if the current solution has package // restore mode enabled, we make sure every thing is set up correctly. // For example, projects which were added outside of VS need to have // the <Import> element added. if (PackageRestoreManager.IsCurrentSolutionEnabledForRestore) { PackageRestoreManager.EnableCurrentSolutionForRestore(fromActivation: false); } // when NuGet loads, if the current solution has some package // folders marked for deletion (because a previous uninstalltion didn't succeed), // delete them now. if (SolutionManager.IsSolutionOpen) { DeleteOnRestart.DeleteMarkedPackageDirectories(); } }
public void EnableCurrentSolutionForRestore(bool fromActivation) { restoreManager.EnableCurrentSolutionForRestore(fromActivation); }
/// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { base.Initialize(); Styles.Initialize(); // *** // VsNuGetDiagnostics.Initialize( // ServiceLocator.GetInstance<IDebugConsoleController>()); // Add our command handlers for menu (commands must exist in the .vsct file) AddMenuCommandHandlers(); // IMPORTANT: Do NOT do anything that can lead to a call to ServiceLocator.GetGlobalService(). // Doing so is illegal and may cause VS to stop responding. _dte = (DTE)GetService(typeof(SDTE)); Debug.Assert(_dte != null); _dteEvents = _dte.Events.DTEEvents; _dteEvents.OnBeginShutdown += OnBeginShutDown; // set default credential provider for the HttpClient var webProxy = (IVsWebProxy)GetService(typeof(SVsWebProxy)); Debug.Assert(webProxy != null); if (SolutionManager != null) { SolutionManager.SolutionOpened += (obj, ev) => { _nugetSettings = new NuGetSettings(); LoadNuGetSettings(); }; } // when NuGet loads, if the current solution has package // restore mode enabled, we make sure every thing is set up correctly. // For example, projects which were added outside of VS need to have // the <Import> element added. if (PackageRestoreManager.IsCurrentSolutionEnabledForRestore) { if (VSVersionHelper.IsVisualStudio2013) { // Run on a background thread in VS2013 to avoid CPS hangs. The modal loading dialog will block // until this completes. ThreadPool.QueueUserWorkItem(new WaitCallback((obj) => PackageRestoreManager.EnableCurrentSolutionForRestore(fromActivation: false))); } else { PackageRestoreManager.EnableCurrentSolutionForRestore(fromActivation: false); } } _outputConsoleLogger = new OutputConsoleLogger(this); _uiProjectContext = new NuGetUIProjectContext( _outputConsoleLogger, SourceControlManagerProvider, CommonOperations); /* **** * // when NuGet loads, if the current solution has some package * // folders marked for deletion (because a previous uninstalltion didn't succeed), * // delete them now. * if (SolutionManager.IsSolutionOpen) * { * DeleteOnRestart.DeleteMarkedPackageDirectories(); * } */ // NOTE: Don't use the exported IPackageRestoreManager for OnBuildPackageRestorer. Exported IPackageRestoreManager also uses 'PackageRestoreManager' // but, overrides RestoreMissingPackages to catch the exceptions. OnBuildPackageRestorer needs to catch the exception by itself to populate error list window // Exported IPackageRestoreManager is used by UI manual restore, Powershell manual restore and by VS extensibility package restore // var packageRestoreManagerForOnBuildPackageRestorer = new PackageRestoreManager(SourceRepositoryProvider, Settings, SolutionManager); OnBuildPackageRestorer = new OnBuildPackageRestorer(SolutionManager, PackageRestoreManager, this); var vsSourceControlTracker = VSSourceControlTracker; LoadNuGetSettings(); }