/// <summary>
        /// Gets package reference file(s) used by the project, or subprojects if the project is a solution folder,
        /// and adds the files into list _projectPackageReferenceFiles.
        /// </summary>
        /// <param name="project">the project to inspect.</param>
        private void GetPackageReferenceFiles(Project project)
        {
            if (project == null)
            {
                return;
            }

            // Ignore "Miscellaneous Files" project
            if (VsConstants.VsProjectKindMisc.Equals(project.Kind, StringComparison.OrdinalIgnoreCase))
            {
                return;
            }

            if (VsConstants.VsProjectItemKindSolutionFolder.Equals(project.Kind, StringComparison.OrdinalIgnoreCase))
            {
                foreach (ProjectItem item in project.ProjectItems)
                {
                    var nestedProject = item.SubProject;
                    GetPackageReferenceFiles(nestedProject);
                }
            }
            else
            {
                Tuple <string, string> packageReferenceFiles = VsUtility.GetPackageReferenceFileFullPaths(project);
                if (File.Exists(packageReferenceFiles.Item1))
                {
                    _projectPackageReferenceFiles.Add(new ProjectPackageReferenceFile(project, packageReferenceFiles.Item1));
                }
                else if (File.Exists(packageReferenceFiles.Item2))
                {
                    _projectPackageReferenceFiles.Add(new ProjectPackageReferenceFile(project, packageReferenceFiles.Item2));
                }
            }
        }
        private static PackageReferenceFile GetPackageReferenceFile(Project project)
        {
            Debug.Assert(project != null);
            Tuple <string, string> packageReferenceFiles = VsUtility.GetPackageReferenceFileFullPaths(project);

            if (File.Exists(packageReferenceFiles.Item1))
            {
                return(new PackageReferenceFile(packageReferenceFiles.Item1));
            }
            else if (File.Exists(packageReferenceFiles.Item2))
            {
                return(new PackageReferenceFile(packageReferenceFiles.Item2));
            }
            return(null);
        }