Ejemplo n.º 1
0
        private IReadOnlyDictionary <string, PackageReferenceInfo> GetDependencies(ProjectInstance project)
        {
            var references = new Dictionary <string, PackageReferenceInfo>(StringComparer.OrdinalIgnoreCase);

            foreach (var item in  project.GetItems("PackageReference"))
            {
                bool.TryParse(item.GetMetadataValue("IsImplicitlyDefined"), out var isImplicit);

                var info = new PackageReferenceInfo(item.EvaluatedInclude, item.GetMetadataValue("Version"), isImplicit);

                if (references.ContainsKey(info.Id))
                {
                    _logger.LogKoreBuildWarning(project.ProjectFileLocation.File, KoreBuildErrors.DuplicatePackageReference, $"Found a duplicate PackageReference for {info.Id}. Restore results may be unpredictable.");
                }

                references[info.Id] = info;
            }

            return(references);
        }