Esempio n. 1
0
        private static void ExpandMacros(ConfigurationMgr manager)
        {
            var macros = new List <MacroReplacement>();

            macros.Add(new MacroReplacement("$(ConfigRootPath)", manager.GlobalSection.ConfigRootPath));
            macros.Add(new MacroReplacement("$(InputRootPath)", manager.GlobalSection.InputRootPath));
            macros.Add(new MacroReplacement("$(OutputRootPath)", manager.GlobalSection.OutputRootPath));

            foreach (string section in manager.GetSectionNames())
            {
                foreach (MacroReplacement macro in macros)
                {
                    Section sec = manager.GetSection(section);
                    sec.ExpandMacro(macro);
                    sec.ExpandEnvVars();
                }
            }
        }
Esempio n. 2
0
        public static ConfigurationMgr LoadConfiguration(string fileName, bool expandMacros)
        {
            ConfigurationMgr manager = null;

            using (var reader = new StreamReader(fileName))
            {
                var serializer = new XmlSerializer(typeof(ConfigurationMgr));
                manager = serializer.Deserialize(reader) as ConfigurationMgr;
                reader.Close();
            }


            if (expandMacros)
            {
                ExpandMacros(manager);
            }

            return(manager);
        }