/// <summary>
        /// Gets the included files.
        /// </summary>
        /// <param name="project">The project.</param>
        /// <returns></returns>
        private IList<VSIncludedFile> GetIncludedFiles(Microsoft.Build.Evaluation.Project project)
        {
            IList<VSIncludedFile> result = new List<VSIncludedFile>();

            foreach (ProjectItem projectItem in project.AllEvaluatedItems)
            {
                if(projectItem.ItemType == INCLUDE_COMPILE)
                {
                    VSIncludedFile included = new VSIncludedFile();
                    included.Include = projectItem.EvaluatedInclude;

                    if(projectItem.HasMetadata(INCLUDE_LINK))
                    {
                        included.IsLink = true;
                        included.LinkTarget = projectItem.GetMetadataValue(INCLUDE_LINK);
                    }
                    result.Add(included);
                }
            }

            return result;
        }
        /// <summary>
        /// Gets the included files.
        /// </summary>
        /// <returns></returns>
        private IList<VSIncludedFile> GetIncludedFiles()
        {
            XmlDocument xmlDocument = this.ProjectDocument;

            string xpath = GetXPath(@"Compile");
            XmlNamespaceManager namespaceManager = GetNamespaceManager(xmlDocument);
            XmlNodeList nodeList = xmlDocument.SelectNodes(xpath, namespaceManager);

            List<VSIncludedFile> files = new List<VSIncludedFile>();
            if (nodeList != null)
            {
                foreach (XmlNode node in nodeList)
                {
                    string include = SelectAttributeValue(node, "Include");
                    bool isLink = false;
                    string linkTarget = null;
                    foreach (XmlNode childNode in node.ChildNodes)
                    {
                        if (childNode.Name == "Link")
                        {
                            isLink = true;
                            linkTarget = childNode.InnerXml;
                        }
                    }

                    VSIncludedFile file = new VSIncludedFile { Include = include, IsLink = isLink, LinkTarget = linkTarget };
                    files.Add(file);
                }
            }
            return files;
        }