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); }
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); }