diff --git a/eng/BeforeTargetFrameworkInference.targets b/eng/BeforeTargetFrameworkInference.targets
index abef4c8981a28..93609381fb4b1 100644
--- a/eng/BeforeTargetFrameworkInference.targets
+++ b/eng/BeforeTargetFrameworkInference.targets
@@ -3,17 +3,18 @@
<_OriginalTargetFramework>$(TargetFramework)
$(TargetFramework.SubString($([MSBuild]::Add($(TargetFramework.IndexOf('-')), 1))))
- $(TargetFramework.SubString(0, $(TargetFramework.IndexOf('-'))))
+
+ $([System.Text.RegularExpressions.Regex]::Replace('$(TargetFramework)', '$(TargetFrameworkPattern)', '${1}'))
- $([MSBuild]::NormalizeDirectory('$(BaseIntermediateOutputPath)', '$(TargetFramework)-$(TargetFrameworkSuffix)-$(Configuration)'))
- $([MSBuild]::NormalizeDirectory('$(BaseIntermediateOutputPath)', '$(TargetFramework)-$(Configuration)'))
+ $([MSBuild]::NormalizeDirectory('$(BaseIntermediateOutputPath)', '$(TargetFramework)-$(Configuration)'))
+ $([MSBuild]::NormalizeDirectory('$(BaseIntermediateOutputPath)', '$(TargetFramework)-$(TargetFrameworkSuffix)-$(Configuration)'))
- $([MSBuild]::NormalizeDirectory('$(BaseOutputPath)', '$(TargetFramework)-$(TargetFrameworkSuffix)-$(Configuration)'))
- $([MSBuild]::NormalizeDirectory('$(BaseOutputPath)', '$(TargetFramework)-$(Configuration)'))
+ $([MSBuild]::NormalizeDirectory('$(BaseOutputPath)', '$(TargetFramework)-$(Configuration)'))
+ $([MSBuild]::NormalizeDirectory('$(BaseOutputPath)', '$(TargetFramework)-$(TargetFrameworkSuffix)-$(Configuration)'))
diff --git a/eng/resolveContract.targets b/eng/resolveContract.targets
index 6f4bb0e253ee3..06084755937f4 100644
--- a/eng/resolveContract.targets
+++ b/eng/resolveContract.targets
@@ -12,8 +12,8 @@
$(NetCoreAppCurrentRefPath)$(TargetFileName)
- $([MSBuild]::NormalizePath('$(BaseOutputPath)', 'ref', '$(TargetFramework)-$(Configuration)', '$(TargetFileName)'))
-
+ <_TargetFrameworkWithoutPlatform>$([System.Text.RegularExpressions.Regex]::Replace('$(TargetFramework)', '(-[^;]+)', ''))
+ $([MSBuild]::NormalizePath('$(BaseOutputPath)', 'ref', '$(_TargetFrameworkWithoutPlatform)-$(Configuration)', '$(TargetFileName)'))
false
@@ -59,4 +59,4 @@
ReferenceAssembly="" />
-
\ No newline at end of file
+
diff --git a/eng/targetframeworksuffix.props b/eng/targetframeworksuffix.props
index 80443a1646871..2525ce954a355 100644
--- a/eng/targetframeworksuffix.props
+++ b/eng/targetframeworksuffix.props
@@ -1,4 +1,16 @@
+
+
+ true
+ true
+
+
+
+ $(TargetFrameworkSuffix)
+ 0.0
+ $(TargetFrameworkSuffix),Version=$(TargetPlatformVersion)
+
+
diff --git a/eng/versioning.targets b/eng/versioning.targets
index 61789747403d7..3177b48b0ba6d 100644
--- a/eng/versioning.targets
+++ b/eng/versioning.targets
@@ -155,4 +155,14 @@
WriteOnlyWhenDifferent="true" />
+
+
+
+
+
+
+
+
+
diff --git a/global.json b/global.json
index 712486f620a0e..e74fc180a0a41 100644
--- a/global.json
+++ b/global.json
@@ -12,7 +12,7 @@
"python3": "3.7.1"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.20529.1",
+ "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.20554.1",
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.20529.1",
"Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk": "6.0.0-beta.20529.1",
"Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.20529.1",
diff --git a/src/libraries/Directory.Build.props b/src/libraries/Directory.Build.props
index 9e05e6870a2b9..b48551a1fba5b 100644
--- a/src/libraries/Directory.Build.props
+++ b/src/libraries/Directory.Build.props
@@ -39,7 +39,7 @@
Debug
- $(TargetFramework)
+ $([System.Text.RegularExpressions.Regex]::Replace('$(TargetFramework)', '(-[^;]+)', ''))
net45;net451;net452;net46;net461;net462;net47;net471;net472
$(AdditionalBuildTargetFrameworks);netstandard2.0