public OutputConsoleLogger( IAsyncServiceProvider asyncServiceProvider, IOutputConsoleProvider consoleProvider, Lazy <ErrorListTableDataSource> errorListDataSource) { if (asyncServiceProvider == null) { throw new ArgumentNullException(nameof(asyncServiceProvider)); } if (consoleProvider == null) { throw new ArgumentNullException(nameof(consoleProvider)); } ErrorListTableDataSource = errorListDataSource; Run(async() => { await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); _dte = await asyncServiceProvider.GetDTEAsync(); _buildEvents = _dte.Events.BuildEvents; _buildEvents.OnBuildBegin += (_, __) => { ErrorListTableDataSource.Value.ClearNuGetEntries(); }; _solutionEvents = _dte.Events.SolutionEvents; _solutionEvents.AfterClosing += () => { ErrorListTableDataSource.Value.ClearNuGetEntries(); }; OutputConsole = await consoleProvider.CreatePackageManagerConsoleAsync(); }); }
internal virtual void ShowWarningMessage(string message) { NuGetUIThreadHelper.JoinableTaskFactory.Run(async() => { var console = await _consoleProvider.CreatePackageManagerConsoleAsync(); await console.WriteLineAsync(message); } ); }
internal OutputConsoleLogger( IVisualStudioShell visualStudioShell, IOutputConsoleProvider consoleProvider, Lazy <INuGetErrorList> errorList) { Verify.ArgumentIsNotNull(visualStudioShell, nameof(visualStudioShell)); Verify.ArgumentIsNotNull(consoleProvider, nameof(consoleProvider)); Verify.ArgumentIsNotNull(errorList, nameof(errorList)); _visualStudioShell = visualStudioShell; _errorList = errorList; _verbosityLevel = new AsyncLazyInt(() => GetMSBuildVerbosityLevelAsync(), NuGetUIThreadHelper.JoinableTaskFactory); Run(async() => { await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); await _visualStudioShell.SubscribeToBuildBeginAsync(() => _errorList.Value.ClearNuGetEntries()); await _visualStudioShell.SubscribeToAfterClosingAsync(() => _errorList.Value.ClearNuGetEntries()); _outputConsole = await consoleProvider.CreatePackageManagerConsoleAsync(); }); }