public async Task Install(IReadOnlyList <SourceRepository> remoteRepositories, NuGetPackageManager packageManager) { if (_versionMatch == null) { return; } IReadOnlyList <SourceRepository> sourceRepositories = GetSourceRepositories(remoteRepositories); using (Trace.WithIndent().Verbose($"Installing package {_packageId} {_versionMatch.Version}")) { ResolutionContext resolutionContext = new ResolutionContext( DependencyBehavior.Lowest, _allowPrereleaseVersions, _allowUnlisted, VersionConstraints.None); INuGetProjectContext projectContext = new NuGetProjectContext(); await packageManager.InstallPackageAsync(packageManager.PackagesFolderNuGetProject, new PackageIdentity(_packageId, _versionMatch), resolutionContext, projectContext, sourceRepositories, Array.Empty <SourceRepository>(), CancellationToken.None); Trace.Verbose($"Installed package {_packageId} {_versionMatch.Version}"); } }
public async Task Install(IReadOnlyList <SourceRepository> remoteRepositories, InstalledPackagesCache installedPackages, NuGetPackageManager packageManager) { if (_versionMatch == null) { return; } IReadOnlyList <SourceRepository> sourceRepositories = GetSourceRepositories(remoteRepositories); using (Trace.WithIndent().Verbose($"Installing package {_packageId} {_versionMatch.ToNormalizedString()}")) { // Check if this package was already installed in a previous run PackageIdentity packageIdentity = new PackageIdentity(_packageId, _versionMatch); if (installedPackages.VerifyPackage(packageIdentity, packageManager)) { Trace.Verbose($"Package {_packageId} {_versionMatch.ToNormalizedString()} was already installed"); return; } // If not, go ahead and install it using (installedPackages.AddPackage(packageIdentity, _currentFramework)) { ResolutionContext resolutionContext = new ResolutionContext( DependencyBehavior.Lowest, _allowPrereleaseVersions, _allowUnlisted, VersionConstraints.None); INuGetProjectContext projectContext = new NuGetProjectContext(); await packageManager.InstallPackageAsync( packageManager.PackagesFolderNuGetProject, packageIdentity, resolutionContext, projectContext, sourceRepositories, Array.Empty <SourceRepository>(), CancellationToken.None); Trace.Verbose($"Installed package {_packageId} {_versionMatch.ToNormalizedString()}"); } } }
public async Task Install(IReadOnlyList<SourceRepository> remoteRepositories, NuGetPackageManager packageManager) { if (_versionMatch == null) { return; } IReadOnlyList<SourceRepository> sourceRepositories = GetSourceRepositories(remoteRepositories); Trace.Verbose($"Installing package {_packageId} {_versionMatch.Version}"); ResolutionContext resolutionContext = new ResolutionContext( DependencyBehavior.Lowest, _allowPrereleaseVersions, _allowUnlisted, VersionConstraints.None); INuGetProjectContext projectContext = new NuGetProjectContext(); await packageManager.InstallPackageAsync(packageManager.PackagesFolderNuGetProject, new PackageIdentity(_packageId, _versionMatch), resolutionContext, projectContext, sourceRepositories, Array.Empty<SourceRepository>(), CancellationToken.None); Trace.Verbose($"Installed package {_packageId} {_versionMatch.Version}"); }