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))));
 }