private protected IReadOnlyList <PackageReference> GetTransitivePackageReferences(NuGetFramework targetFramework, Dictionary <string, ProjectInstalledPackage> installedPackages, Dictionary <string, ProjectInstalledPackage> transitivePackages, IList <LockFileTarget> targets) { // If the assets files has not been updated, return the cached transitive packages if (targets == null) { return(transitivePackages .Select(package => new PackageReference(package.Value.InstalledPackage, targetFramework)) .ToList()); } else { return(targets .SelectMany(target => target.Libraries) .Where(library => library.Type == LibraryType.Package) .SelectMany(library => GetPackageReferenceUtility.UpdateTransitiveDependencies(library, targetFramework, targets, installedPackages, transitivePackages)) .Select(packageIdentity => new PackageReference(packageIdentity, targetFramework)) .ToList()); } }
private IEnumerable <PackageReference> GetPackageReferences(IEnumerable <LibraryDependency> libraries, NuGetFramework targetFramework, Dictionary <string, ProjectInstalledPackage> installedPackages, PackageSpec assetsPackageSpec, IList <LockFileTarget> targets) { return(libraries .Where(library => library.LibraryRange.TypeConstraint == LibraryDependencyTarget.Package) .Select(library => new BuildIntegratedPackageReference(library, targetFramework, GetPackageReferenceUtility.UpdateResolvedVersion(library, targetFramework, assetsPackageSpec?.TargetFrameworks.FirstOrDefault(), targets, installedPackages)))); }