Beispiel #1
0
        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);
        }
Beispiel #2
0
 public bool TryGetDependency(RegistryPackageDependency dependency, out RegistryPackageVersionContext context)
 {
     return(TryGetPackageVersion(dependency.Type, dependency.Name, dependency.Version, out context));
 }