private static IPackage FindPackage(string packageId, string packageVersion, Uri feed, out PackageDownloader downloader) { var remoteRepository = PackageRepositoryFactory.Default.CreateRepository(feed.AbsoluteUri); downloader = remoteRepository is DataServicePackageRepository dspr ? dspr.PackageDownloader : null; var requiredVersion = new SemanticVersion(packageVersion); var package = remoteRepository.FindPackage(packageId, requiredVersion, true, true); if (package == null) { throw new Exception($"Could not find package {packageId} {packageVersion} in feed: '{feed}'"); } if (!requiredVersion.Equals(package.Version)) { throw new Exception($"The package version '{package.Version}' returned from the package repository doesn't match the requested package version '{requiredVersion}'."); } return(package); }
public bool Equals(PackageName other) { return(_packageId.Equals(other._packageId, StringComparison.OrdinalIgnoreCase) && _version.Equals(other._version)); }