object ReadSolutionFolder(string file, IProgressMonitor monitor) { XmlTextReader reader = new XmlTextReader(new StreamReader(file)); reader.MoveToContent(); string version = reader.GetAttribute("version"); if (version == null) { version = reader.GetAttribute("fileversion"); } DataSerializer serializer = new DataSerializer(MD1ProjectService.DataContext, file); try { if (version != "2.0") { throw new MD1UnknownProjectVersion(file, version); } ICombineReader combineReader = new CombineReaderV2(serializer, monitor, typeof(SolutionFolder)); return(combineReader.ReadCombine(reader)); } catch (Exception ex) { monitor.ReportError(GettextCatalog.GetString("Could not load solution: {0}", file), ex); throw; } finally { reader.Close(); } }
object ReadCombineFile (FilePath file, IProgressMonitor monitor) { XmlTextReader reader = new XmlTextReader (new StreamReader (file)); reader.MoveToContent (); string version = reader.GetAttribute ("version"); if (version == null) version = reader.GetAttribute ("fileversion"); DataSerializer serializer = new DataSerializer (MD1ProjectService.DataContext, file); ICombineReader combineReader = null; if (version == "2.0" || version == "2.1") combineReader = new CombineReaderV2 (serializer, monitor, typeof(Solution)); try { if (combineReader != null) return combineReader.ReadCombine (reader); else throw new MD1UnknownProjectVersion (file, version); } catch (Exception ex) { monitor.ReportError (GettextCatalog.GetString ("Could not load solution: {0}", file), ex); throw; } finally { reader.Close (); } }