/// <summary> /// Reads an ICalidusProject from a file /// </summary> /// <param name="file">The file to read from</param> /// <returns>The calidus project</returns> public ICalidusProject ReadFrom(String file) { XmlReader reader = XmlTextReader.Create(file); CalidusProject project = (CalidusProject)ReadFrom(file, reader); return(project); }
/// <summary> /// Reads an ICalidusProject from an XmlReader /// </summary> /// <param name="fileName">The filename for the project</param> /// <param name="reader">The reader to read from</param> /// <returns>The calidus project</returns> public ICalidusProject ReadFrom(String fileName, XmlReader reader) { XDocument _doc = XDocument.Load(reader); XElement calidusProject = _doc.Root; XAttribute sourceLocation = calidusProject.Attribute("sourcelocation"); CalidusProject res = new CalidusProject(fileName); XElement settings = calidusProject.Element("settings"); XElement ignoreAssembly = settings.Element("IgnoreAssemblyFiles"); XElement ignoreDesigner = settings.Element("IgnoreDesignerFiles"); XElement ignoreProgram = settings.Element("IgnoreProgramFiles"); res.IgnoreAssemblyFiles = Boolean.Parse(ignoreAssembly.Value); res.IgnoreDesignerFiles = Boolean.Parse(ignoreDesigner.Value); res.IgnoreProgramFiles = Boolean.Parse(ignoreProgram.Value); XElement ignored = calidusProject.Element("ignore"); foreach (XElement ignoredFile in ignored.Elements()) { res.IgnoredFileList.Add(ignoredFile.Attribute("path").Value); } foreach (IRuleConfigurationOverride anOverride in _rulesSectionManager.ReadFrom(_doc)) { res.SetProjectRuleConfigurationOverrideTo(anOverride); } reader.Close(); return(res); }