void InstallPackages(
            IEnumerable <SourceRepository> repositories,
            Project project,
            IEnumerable <PackageManagementPackageReference> packages,
            bool licensesAccepted)
        {
            var actions = CreateInstallActions(repositories, project, packages, licensesAccepted).ToList();
            ProgressMonitorStatusMessage progressMessage = GetInstallingStatusMessages(actions);

            backgroundActionRunner.Run(progressMessage, actions);
        }
Exemple #2
0
        public void InstallPackages(
            string packageSourceUrl,
            Project project,
            IEnumerable <PackageManagementPackageReference> packages)
        {
            List <IPackageAction> actions = null;

            Runtime.RunInMainThread(() => {
                IPackageRepository repository = CreatePackageRepository(packageSourceUrl);
                IPackageManagementProject packageManagementProject = solution.GetProject(repository, new DotNetProjectProxy((DotNetProject)project));
                actions = packages.Select(packageReference => {
                    InstallPackageAction action = packageManagementProject.CreateInstallPackageAction();
                    action.PackageId            = packageReference.Id;
                    action.PackageVersion       = new SemanticVersion(packageReference.Version);
                    return((IPackageAction)action);
                }).ToList();
            }).Wait();

            ProgressMonitorStatusMessage progressMessage = GetProgressMonitorStatusMessages(actions);

            backgroundActionRunner.Run(progressMessage, actions);
        }