From 613d8432af247bfbec3038619f67b8dffc762021 Mon Sep 17 00:00:00 2001 From: Joshua Larkin <70237359+j0shuams@users.noreply.github.com> Date: Fri, 12 Aug 2022 15:01:00 -0400 Subject: [PATCH 1/3] logic to lock net5 sdk pkg --- .../CreateWindowsSdkKnownFrameworkReferences.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/CreateWindowsSdkKnownFrameworkReferences.cs b/src/Tasks/Microsoft.NET.Build.Tasks/CreateWindowsSdkKnownFrameworkReferences.cs index 94a65656ee68..0f52eda427e7 100644 --- a/src/Tasks/Microsoft.NET.Build.Tasks/CreateWindowsSdkKnownFrameworkReferences.cs +++ b/src/Tasks/Microsoft.NET.Build.Tasks/CreateWindowsSdkKnownFrameworkReferences.cs @@ -38,6 +38,10 @@ public class CreateWindowsSdkKnownFrameworkReferences : TaskBase protected override void ExecuteCore() { + /* If TFM is net5 */ + + /// + List knownFrameworkReferences = new List(); if (!string.IsNullOrEmpty(WindowsSdkPackageVersion)) @@ -55,12 +59,19 @@ protected override void ExecuteCore() else { var normalizedTargetFrameworkVersion = ProcessFrameworkReferences.NormalizeVersion(new Version(TargetFrameworkVersion)); + foreach (var supportedWindowsVersion in WindowsSdkSupportedTargetPlatformVersions) { var windowsSdkPackageVersion = supportedWindowsVersion.GetMetadata("WindowsSdkPackageVersion"); if (!string.IsNullOrEmpty(windowsSdkPackageVersion)) { + var lockedNET5Version = supportedWindowsVersion.GetMetadata("NETVersion"); + if (lockedNET5Version == "5.0") + { + knownFrameworkReferences.Add(CreateKnownFrameworkReference(windowsSdkPackageVersion, TargetFrameworkVersion, supportedWindowsVersion.ItemSpec)); + } + var minimumNETVersion = supportedWindowsVersion.GetMetadata("MinimumNETVersion"); if (!string.IsNullOrEmpty(minimumNETVersion)) { From 0524bbcbe966242d47f0398fb1c1529af8e03643 Mon Sep 17 00:00:00 2001 From: Joshua Larkin <70237359+j0shuams@users.noreply.github.com> Date: Fri, 12 Aug 2022 15:01:42 -0400 Subject: [PATCH 2/3] cleanup --- .../CreateWindowsSdkKnownFrameworkReferences.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/CreateWindowsSdkKnownFrameworkReferences.cs b/src/Tasks/Microsoft.NET.Build.Tasks/CreateWindowsSdkKnownFrameworkReferences.cs index 0f52eda427e7..628007b7158c 100644 --- a/src/Tasks/Microsoft.NET.Build.Tasks/CreateWindowsSdkKnownFrameworkReferences.cs +++ b/src/Tasks/Microsoft.NET.Build.Tasks/CreateWindowsSdkKnownFrameworkReferences.cs @@ -38,10 +38,6 @@ public class CreateWindowsSdkKnownFrameworkReferences : TaskBase protected override void ExecuteCore() { - /* If TFM is net5 */ - - /// - List knownFrameworkReferences = new List(); if (!string.IsNullOrEmpty(WindowsSdkPackageVersion)) From c586e46d8a6f96000f0b4ac8da043314300243dc Mon Sep 17 00:00:00 2001 From: Joshua Larkin <70237359+j0shuams@users.noreply.github.com> Date: Mon, 15 Aug 2022 15:10:23 -0400 Subject: [PATCH 3/3] Improve logic --- .../CreateWindowsSdkKnownFrameworkReferences.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/CreateWindowsSdkKnownFrameworkReferences.cs b/src/Tasks/Microsoft.NET.Build.Tasks/CreateWindowsSdkKnownFrameworkReferences.cs index 628007b7158c..a3bf6cf5c059 100644 --- a/src/Tasks/Microsoft.NET.Build.Tasks/CreateWindowsSdkKnownFrameworkReferences.cs +++ b/src/Tasks/Microsoft.NET.Build.Tasks/CreateWindowsSdkKnownFrameworkReferences.cs @@ -62,10 +62,15 @@ protected override void ExecuteCore() if (!string.IsNullOrEmpty(windowsSdkPackageVersion)) { - var lockedNET5Version = supportedWindowsVersion.GetMetadata("NETVersion"); - if (lockedNET5Version == "5.0") + var NETVersion = supportedWindowsVersion.GetMetadata("NETVersion"); + if (!string.IsNullOrEmpty(NETVersion)) { - knownFrameworkReferences.Add(CreateKnownFrameworkReference(windowsSdkPackageVersion, TargetFrameworkVersion, supportedWindowsVersion.ItemSpec)); + var normalizedNETVersion = ProcessFrameworkReferences.NormalizeVersion(new Version(NETVersion)); + if (normalizedNETVersion == normalizedTargetFrameworkVersion) + { + knownFrameworkReferences.Add(CreateKnownFrameworkReference(windowsSdkPackageVersion, TargetFrameworkVersion, supportedWindowsVersion.ItemSpec)); + } + continue; } var minimumNETVersion = supportedWindowsVersion.GetMetadata("MinimumNETVersion");