diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.BeforeCommon.targets b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.BeforeCommon.targets
index c354c46c2450..4550d18f5062 100644
--- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.BeforeCommon.targets
+++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.BeforeCommon.targets
@@ -32,7 +32,7 @@ Copyright (c) .NET Foundation. All rights reserved.
diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.BeforeCommonCrossTargeting.targets b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.BeforeCommonCrossTargeting.targets
index 2fbae7d16b50..d46465076409 100644
--- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.BeforeCommonCrossTargeting.targets
+++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.BeforeCommonCrossTargeting.targets
@@ -11,6 +11,16 @@ Copyright (c) .NET Foundation. All rights reserved.
-->
+
+
+ Debug
+ AnyCPU
+ $(Platform)
+
+
diff --git a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACrossTargetedLibrary.cs b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACrossTargetedLibrary.cs
index 0b83b03eb4d4..1777393595af 100644
--- a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACrossTargetedLibrary.cs
+++ b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACrossTargetedLibrary.cs
@@ -11,6 +11,7 @@
using System.Linq;
using FluentAssertions;
using Xunit.Abstractions;
+using Microsoft.NET.TestFramework.ProjectConstruction;
namespace Microsoft.NET.Build.Tests
{
@@ -119,5 +120,37 @@ public void It_combines_inner_rids_for_restore(
command.ExecuteWithoutRestore().Should().Pass();
command.GetValues().Should().BeEquivalentTo(expectedCombination.Split(';'));
}
+
+ [Fact]
+ public void OutputPathDoesNotHaveDuplicatedBackslashesInOuterBuild()
+ {
+ var testProject = new TestProject()
+ {
+ TargetFrameworks = $"{ToolsetInfo.CurrentTargetFramework};net7.0"
+ };
+
+ testProject.ProjectChanges.Add(xml =>
+ {
+ var target = """
+
+
+
+ """;
+
+ xml.Root.Add(XElement.Parse(target));
+ });
+
+ var testAsset = _testAssetsManager.CreateTestProject(testProject);
+
+ new MSBuildCommand(testAsset, "GetOutputPath")
+ .Execute()
+ .Should()
+ .Pass();
+
+ string outputPathValue = File.ReadAllText(Path.Combine(testAsset.TestRoot, testProject.Name, "OutputPathValue.txt"));
+ outputPathValue.Trim().Should().NotContain("\\\\");
+ }
}
}