Skip to content

Commit 9f89346

Browse files
committed
fix: XML namespace for SDK-style projects in ProjectReferences
I accept any sideways glance for the allocation-averse code
1 parent 67366fe commit 9f89346

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

ICSharpCode.Decompiler/Solution/SolutionCreator.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,12 @@ static void FixProjectReferences(List<ProjectItem> projects)
193193
static void FixProjectReferences(string projectFilePath, XElement itemGroup,
194194
Dictionary<string, ProjectItem> projects, bool sdkStyle)
195195
{
196-
var referenceTagName = sdkStyle ? "Reference" : ProjectFileNamespace + "Reference";
196+
XName GetElementName(string localName) => sdkStyle ? localName : ProjectFileNamespace + localName;
197+
198+
var referenceTagName = GetElementName("Reference");
199+
var projectReferenceTagName = GetElementName("ProjectReference");
200+
var projectTagName = GetElementName("Project");
201+
var nameTagName = GetElementName("Name");
197202

198203
foreach (var item in itemGroup.Elements(referenceTagName).ToList())
199204
{
@@ -202,9 +207,9 @@ static void FixProjectReferences(string projectFilePath, XElement itemGroup,
202207
{
203208
item.Remove();
204209

205-
var projectReference = new XElement(ProjectFileNamespace + "ProjectReference",
206-
new XElement(ProjectFileNamespace + "Project", referencedProject.Guid.ToString("B").ToLowerInvariant()),
207-
new XElement(ProjectFileNamespace + "Name", referencedProject.ProjectName));
210+
var projectReference = new XElement(projectReferenceTagName,
211+
new XElement(projectTagName, referencedProject.Guid.ToString("B").ToLowerInvariant()),
212+
new XElement(nameTagName, referencedProject.ProjectName));
208213
projectReference.SetAttributeValue("Include", GetRelativePath(projectFilePath, referencedProject.FilePath));
209214

210215
itemGroup.Add(projectReference);

0 commit comments

Comments
 (0)