diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/AddIn.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/AddIn.cs index d7e553d90c..03d23b8e0e 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/AddIn.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/AddIn.cs @@ -267,22 +267,26 @@ namespace ICSharpCode.Core public static AddIn Load(TextReader textReader, string hintPath) { - AddIn addIn = new AddIn(); - using (XmlTextReader reader = new XmlTextReader(textReader)) { - while (reader.Read()){ - if (reader.IsStartElement()) { - switch (reader.LocalName) { - case "AddIn": - addIn.properties = Properties.ReadFromAttributes(reader); - SetupAddIn(reader, addIn, hintPath); - break; - default: - throw new AddInLoadException("Unknown add-in file."); + try { + AddIn addIn = new AddIn(); + using (XmlTextReader reader = new XmlTextReader(textReader)) { + while (reader.Read()){ + if (reader.IsStartElement()) { + switch (reader.LocalName) { + case "AddIn": + addIn.properties = Properties.ReadFromAttributes(reader); + SetupAddIn(reader, addIn, hintPath); + break; + default: + throw new AddInLoadException("Unknown add-in file."); + } } } } + return addIn; + } catch (XmlException ex) { + throw new AddInLoadException(ex.Message, ex); } - return addIn; } public static AddIn Load(string fileName)