Beispiel #1
0
        /// <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));
        }
Beispiel #2
0
        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);
        }