/// <summary> /// Downloads a remote package file to a local location. /// </summary> /// <param name="fastPackageReference"></param> /// <param name="destLocation"></param> /// <param name="request">An object passed in from the PackageManagement that contains functions that can be used to interact with its Provider</param> public void DownloadPackage(string fastPackageReference, string destLocation, NuGetRequest request) { if (request == null) { throw new ArgumentNullException("request"); } request.Debug(Resources.Messages.DebugInfoCallMethod3, PackageProviderName, fastPackageReference, destLocation); try { var pkgItem = request.GetPackageByFastpath(fastPackageReference); if (pkgItem == null) { request.WriteError(ErrorCategory.InvalidArgument, fastPackageReference, Constants.Messages.UnableToResolvePackage); return; } NuGetClient.InstallOrDownloadPackageHelper(pkgItem, request, Constants.Download, (packageItem, progressTracker) => NuGetClient.DownloadSinglePackage(packageItem, request, destLocation, progressTracker)); } catch (Exception ex) { ex.Dump(request); request.WriteError(ErrorCategory.InvalidOperation, fastPackageReference, ex.Message); } }
public bool DownloadPackage(PublicObjectView packageView, string destination, RequestWrapper request) { try { request.Debug(Messages.DebugInfoCallMethod3, "NuGetLocalPackageFeed", "DownloadPackage", destination); PackageItem package = packageView.GetValue <PackageItem>(); // TODO: For now this has to require NuGetRequest, due to its usage of stuff like request.GetOptionValue and request.YieldPackage return(NuGetClient.InstallOrDownloadPackageHelper(package, request.Request, Constants.Install, (packageItem, progressTracker) => NuGetClient.DownloadSinglePackage(packageItem, request.Request, destination, progressTracker))); } finally { request.Debug(Messages.DebugInfoReturnCall, "NuGetLocalPackageFeed", "DownloadPackage"); } }