// A package is a TransitiveProjectReference if it is a project, is not directly referenced, // and does not contain a placeholder compile time assembly public static bool IsTransitiveProjectReference(this LockFileTargetLibrary library, LockFile lockFile, ref HashSet <string> directProjectDependencies) { if (!library.IsProject()) { return(false); } if (directProjectDependencies == null) { directProjectDependencies = lockFile.GetProjectFileDependencySet(); } return(!directProjectDependencies.Contains(library.Name) && !library.CompileTimeAssemblies.Any(f => f.IsPlaceholderFile())); }