public bool TryGetPackageVersion(RegistryPackageType type, string name, RegistryVersionString version, out RegistryPackageVersionContext context) { var package = Get(type)?.FirstOrDefault(p => p.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase)); if (package == null) { context = null; return(false); } var packageVersion = RegistryVersionString.IsEmpty(version) ? package.GetLatestVersion() : package.Versions.FirstOrDefault(v => v.Version.Equals(version)); if (packageVersion == null) { context = null; return(false); } context = new RegistryPackageVersionContext(this, package, packageVersion); return(true); }
public bool TryGetDependency(RegistryPackageDependency dependency, out RegistryPackageVersionContext context) { return(TryGetPackageVersion(dependency.Type, dependency.Name, dependency.Version, out context)); }