public override async Task <IEnumerable <PackageDependencyInfo> > ResolvePackages(string packageId, Frameworks.NuGetFramework projectFramework, bool includePrerelease, CancellationToken token)
        {
            List <Tuple <string, IVersionSpec> > packageVersions = new List <Tuple <string, IVersionSpec> >();

            packageVersions.Add(new Tuple <string, IVersionSpec>(packageId, new VersionSpec()));
            return(GetFlattenedDependencyTree(packageVersions, new List <PackageDependencyInfo>().AsEnumerable(), projectFramework, includePrerelease, token));
        }
        public override async Task <IEnumerable <PackageDependencyInfo> > ResolvePackages(IEnumerable <PackageIdentity> packages, Frameworks.NuGetFramework projectFramework, bool includePrerelease, CancellationToken token)
        {
            List <Tuple <string, IVersionSpec> > packageVersions = packages.Select(item => GetIdAndVersionSpec(item)).ToList();

            return(GetFlattenedDependencyTree(packageVersions, new PackageDependencyInfo[0], projectFramework, includePrerelease, token));
        }
        public override async Task <IEnumerable <PackageDependencyInfo> > ResolvePackages(IEnumerable <string> packageIds, Frameworks.NuGetFramework projectFramework, bool includePrerelease, CancellationToken token)
        {
            if (packageIds == null)
            {
                throw new ArgumentNullException("packageIds");
            }

            IEnumerable <PackageIdentity> packages = packageIds.Select(s => new PackageIdentity(s, null));

            return(await ResolvePackages(packages, projectFramework, includePrerelease, token));
        }