public static async Task <string> GetEmbeddedLicenseAsync(PackageIdentity packageIdentity, CancellationToken cancellationToken) { string content = null; IServiceBrokerProvider serviceBrokerProvider = await ServiceLocator.GetInstanceAsync <IServiceBrokerProvider>(); IServiceBroker serviceBroker = await serviceBrokerProvider.GetAsync(); using (INuGetPackageFileService packageFileService = await serviceBroker.GetProxyAsync <INuGetPackageFileService>(NuGetServices.PackageFileService)) { if (packageFileService != null) { using (Stream stream = await packageFileService.GetEmbeddedLicenseAsync(packageIdentity, CancellationToken.None)) { if (stream != null) { using (var reader = new StreamReader(stream)) { content = reader.ReadToEnd(); } } } } } return(content); }
public ConsoleContainer() { InitializeComponent(); Loaded += ConsoleContainer_Loaded; Unloaded += ConsoleContainer_UnLoaded; ThreadHelper.JoinableTaskFactory.StartOnIdle( async() => { await System.Threading.Tasks.Task.Run( async() => { IServiceBrokerProvider serviceBrokerProvider = await ServiceLocator.GetComponentModelServiceAsync <IServiceBrokerProvider>(); IServiceBroker serviceBroker = await serviceBrokerProvider.GetAsync(); _solutionManager = await serviceBroker.GetProxyAsync <INuGetSolutionManagerService>( NuGetServices.SolutionManagerService, cancellationToken: CancellationToken.None); Assumes.NotNull(_solutionManager); IComponentModel componentModel = await ServiceLocator.GetComponentModelAsync(); var productUpdateService = componentModel.GetService <IProductUpdateService>(); var packageRestoreManager = componentModel.GetService <IPackageRestoreManager>(); var deleteOnRestartManager = componentModel.GetService <IDeleteOnRestartManager>(); var shell = await ServiceLocator.GetGlobalServiceAsync <SVsShell, IVsShell4>(); await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); RootLayout.Children.Add(new ProductUpdateBar(productUpdateService)); RootLayout.Children.Add(new PackageRestoreBar(_solutionManager, packageRestoreManager, projectContextInfo: null)); RootLayout.Children.Add(new RestartRequestBar(deleteOnRestartManager, shell)); }); }, VsTaskRunContext.UIThreadIdlePriority).PostOnFailure(nameof(ConsoleContainer)); // Set DynamicResource binding in code // The reason we can't set it in XAML is that the VsBrushes class come from either // Microsoft.VisualStudio.Shell.10 or Microsoft.VisualStudio.Shell.11 assembly, // depending on whether NuGet runs inside VS10 or VS11. InitializeText.SetResourceReference(TextBlock.ForegroundProperty, VsBrushes.WindowTextKey); }
internal async Task InitializeOnActivatedAsync(CancellationToken cancellationToken) { try { if (_initialized) { return; } _initialized = true; IServiceBrokerProvider serviceBrokerProvider = await ServiceLocator.GetComponentModelServiceAsync <IServiceBrokerProvider>(); IServiceBroker serviceBroker = await serviceBrokerProvider.GetAsync(); #pragma warning disable ISB001 // Dispose of proxies, disposed in disposing event or in ClearSettings _nugetSourcesService = await serviceBroker.GetProxyAsync <INuGetSourcesService>( NuGetServices.SourceProviderService, cancellationToken : cancellationToken); #pragma warning restore ISB001 // Dispose of proxies, disposed in disposing event or in ClearSettings Assumes.NotNull(_nugetSourcesService); // get packages sources _originalPackageSources = await _nugetSourcesService.GetPackageSourcesAsync(cancellationToken); // packageSources and machineWidePackageSources are deep cloned when created, no need to worry about re-querying for sources to diff changes var allPackageSources = _originalPackageSources; var packageSources = allPackageSources.Where(ps => !ps.IsMachineWide).ToList(); var machineWidePackageSources = allPackageSources.Where(ps => ps.IsMachineWide).ToList(); // bind to the package sources, excluding Aggregate _packageSources = new BindingSource(packageSources.Select(ps => ps.Clone()).ToList(), null); _packageSources.CurrentChanged += OnSelectedPackageSourceChanged; PackageSourcesListBox.GotFocus += PackageSourcesListBox_GotFocus; PackageSourcesListBox.DataSource = _packageSources; ResetItemsCheckedState(PackageSourcesListBox, _packageSources); if (machineWidePackageSources.Count > 0) { _machineWidepackageSources = new BindingSource(machineWidePackageSources.Select(ps => ps.Clone()).ToList(), null); _machineWidepackageSources.CurrentChanged += OnSelectedMachineWidePackageSourceChanged; MachineWidePackageSourcesListBox.GotFocus += MachineWidePackageSourcesListBox_GotFocus; MachineWidePackageSourcesListBox.DataSource = _machineWidepackageSources; ResetItemsCheckedState(MachineWidePackageSourcesListBox, _machineWidepackageSources); } else { MachineWidePackageSourcesListBox.Visible = MachineWideSourcesLabel.Visible = false; } OnSelectedPackageSourceChanged(null, EventArgs.Empty); } // Thrown during creating or saving NuGet.Config. catch (NuGetConfigurationException ex) { MessageHelper.ShowErrorMessage(ex.Message, Resources.ErrorDialogBoxTitle); } // Thrown if no nuget.config found. catch (InvalidOperationException ex) { MessageHelper.ShowErrorMessage(ex.Message, Resources.ErrorDialogBoxTitle); } catch (UnauthorizedAccessException) { MessageHelper.ShowErrorMessage(Resources.ShowError_ConfigUnauthorizedAccess, Resources.ErrorDialogBoxTitle); } // Unknown exception. catch (Exception ex) { MessageHelper.ShowErrorMessage(Resources.ShowError_SettingActivatedFailed, Resources.ErrorDialogBoxTitle); ActivityLog.LogError(NuGetUI.LogEntrySource, ex.ToString()); } }