private void GetReferencedPackages()

in src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs [877:911]


        private void GetReferencedPackages(JObject lockFile)
        {
            var targets = (JObject)lockFile["targets"];

            string targetMoniker = null;
            foreach (var preferredTargetMoniker in TargetMonikers)
            {
                var preferredTargetMonikerWithOptionalRuntimeIdentifier = GetTargetMonikerWithOptionalRuntimeIdentifier(preferredTargetMoniker, needsRuntimeIdentifier: false);
                var target = (JObject)targets[preferredTargetMonikerWithOptionalRuntimeIdentifier];

                if (target != null)
                {
                    targetMoniker = preferredTargetMonikerWithOptionalRuntimeIdentifier;
                    break;
                }
            }

            var projectFileDependencyGroups = (JObject)lockFile["projectFileDependencyGroups"];
            var allPackageNames = GetAllPackageNames(lockFile);

            if (targetMoniker != null)
            {
                var targetSpecificDependencies = (JArray)projectFileDependencyGroups[targetMoniker];
                if (targetSpecificDependencies != null)
                {
                    AddReferencedPackages(targetSpecificDependencies, allPackageNames);
                }
            }

            var universalDependencies = (JArray)projectFileDependencyGroups[""];
            if (universalDependencies != null)
            {
                AddReferencedPackages(universalDependencies, allPackageNames);
            }
        }