public List GetPackageReferences()

in src/PortingAssistant.Client.Client/FileParser/ProjectFileParser.cs [43:87]


        public List<PackageVersionPair> GetPackageReferences()
        {
            // packages.config
            if (IsPackagesConfigProject())
            {
                return GetPackageReferencesFromConfigFile().Select(p =>
                    new PackageVersionPair
                    {
                        PackageId = p.PackageIdentity.Id,
                        Version = p.PackageIdentity.Version.ToNormalizedString()
                    })
                    .Where(p => p.PackageId != null && p.Version != null)
                    .ToList();
            }

            // Project References
            if (IsProjectReferenceProject())
            {
                return _projectAnalyzer.ProjectFile.PackageReferences
                    .Select(p =>
                    {
                        var version = p.Version;
                        try
                        {
                            version = new NuGetVersion(p.Version).ToNormalizedString();
                        }
                        catch (Exception)
                        {
                            // Throwing away exceptions is a code smell, but sometimes it is valid and necessary.
                            // If it is valid to throw away the exception, we should leave a comment explaining why
                        }

                        return new PackageVersionPair
                        {
                            PackageId = p.Name,
                            Version = version
                        };
                    })
                    .Where(p => p.PackageId != null && p.Version != null)
                    .ToList();
            }

            // No nuget dependencies found
            return new List<PackageVersionPair>();
        }