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("\\\\"); + } } }