From 48502c9d85622265927ce88ed3c91eb2023d402a Mon Sep 17 00:00:00 2001 From: Andreas Weizel <rpinski@awzhome.de> Date: Sun, 30 Mar 2014 03:02:07 +0200 Subject: [PATCH] Fix #414: Loading enum-typed formatter settings from .csproj files fails. --- src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs b/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs index cfdc97341a..dc6ff540dc 100644 --- a/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs +++ b/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs @@ -1467,11 +1467,15 @@ namespace ICSharpCode.SharpDevelop.Project existing = projectFile.CreateProjectExtensionsElement(); return new XElement(name); } - string content = existing[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; if (string.IsNullOrEmpty(content)) return new XElement(name); try { - return XElement.Parse(content); + var extensionsElement = XElement.Parse(content); + var propertiesElement = extensionsElement.Elements().FirstOrDefault(); // Should be the "Properties" node + return propertiesElement ?? new XElement(name); } catch (XmlException ex) { LoggingService.Warn(ex); return new XElement(name);