diff --git a/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs b/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs index dc6ff540dc..cfdc97341a 100644 --- a/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs +++ b/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs @@ -1467,15 +1467,11 @@ namespace ICSharpCode.SharpDevelop.Project existing = projectFile.CreateProjectExtensionsElement(); return new XElement(name); } - // Instead of using existing[name] we use a workaround here, because existing[name] - // removes all xmlns="..." definitions, which are needed for XAML deserialization. - string content = existing.Content; + string content = existing[name]; if (string.IsNullOrEmpty(content)) return new XElement(name); try { - var extensionsElement = XElement.Parse(content); - var propertiesElement = extensionsElement.Elements().FirstOrDefault(); // Should be the "Properties" node - return propertiesElement ?? new XElement(name); + return XElement.Parse(content); } catch (XmlException ex) { LoggingService.Warn(ex); return new XElement(name);