Exemple #1
0
        public static RootTree LoadTree(string basedir, bool includeExternal = true)
        {
            if (string.IsNullOrEmpty(basedir))
            {
                throw new ArgumentNullException("basedir");
            }
            if (!Directory.Exists(basedir))
            {
                throw new ArgumentException("basedir", string.Format("Base documentation directory at '{0}' doesn't exist", basedir));
            }

            XmlDocument xmlDocument = new XmlDocument();
            string      filename    = Path.Combine(basedir, "monodoc.xml");

            xmlDocument.Load(filename);
            IEnumerable <string> sourceFiles = Directory.EnumerateFiles(Path.Combine(basedir, "sources"), "*.source");

            if (includeExternal)
            {
                sourceFiles = sourceFiles.Concat(RootTree.ProbeExternalDirectorySources());
            }
            return(RootTree.LoadTree(basedir, xmlDocument, sourceFiles));
        }