/// <summary> /// Returns the UI for the project or given set of projects. /// </summary> public async ValueTask <INuGetUI> CreateAsync(params IProjectContextInfo[] projects) { var adapterLogger = new LoggerAdapter(ProjectContext); ProjectContext.PackageExtractionContext = new PackageExtractionContext( PackageSaveMode.Defaultv2, PackageExtractionBehavior.XmlDocFileSaveMode, ClientPolicyContext.GetClientPolicy(Settings.Value, adapterLogger), adapterLogger); // only pick up at most three integrated package managers const int MaxPackageManager = 3; var packageManagerProviders = PackageManagerProviderUtility.Sort( PackageManagerProviders, MaxPackageManager); return(await NuGetUI.CreateAsync( CommonOperations, ProjectContext, SourceRepositoryProvider.Value, Settings.Value, SolutionManager, PackageRestoreManager.Value, OptionsPageActivator.Value, SolutionUserOptions, DeleteOnRestartManager.Value, packageManagerProviders, SolutionUserOptions, LockService.Value, OutputConsoleLogger, CancellationToken.None, projects)); }
private INuGetUIContext CreateUIContext(params NuGetProject[] projects) { var packageManager = new NuGetPackageManager( SourceRepositoryProvider.Value, Settings.Value, SolutionManager, DeleteOnRestartManager.Value); var actionEngine = new UIActionEngine( SourceRepositoryProvider.Value, packageManager, LockService.Value); // only pick up at most three integrated package managers const int MaxPackageManager = 3; var packageManagerProviders = PackageManagerProviderUtility.Sort( PackageManagerProviders, MaxPackageManager); var context = new NuGetUIContext( SourceRepositoryProvider.Value, SolutionManager, packageManager, actionEngine, PackageRestoreManager.Value, OptionsPageActivator.Value, SolutionUserOptions, packageManagerProviders) { Projects = projects }; return(context); }