diff --git a/src/Layout/toolset-tasks/OverrideAndCreateBundledNETCoreAppPackageVersion.cs b/src/Layout/toolset-tasks/OverrideAndCreateBundledNETCoreAppPackageVersion.cs
index f8ca066ed021..c3175a3c11b9 100644
--- a/src/Layout/toolset-tasks/OverrideAndCreateBundledNETCoreAppPackageVersion.cs
+++ b/src/Layout/toolset-tasks/OverrideAndCreateBundledNETCoreAppPackageVersion.cs
@@ -54,8 +54,10 @@ public static string ExecuteInternal(
var propertyGroup = projectXml.Root.Elements(ns + "PropertyGroup").First();
+ var isSDKServicing = IsSDKServicing(propertyGroup.Element(ns + "NETCoreSdkVersion").Value);
+
var originalBundledNETCoreAppPackageVersion =
- propertyGroup.Element(ns + "BundledNETCoreAppPackageVersion").Value;
+ propertyGroup.Element(ns + "BundledNETCoreAppPackageVersion").Value;
propertyGroup.Element(ns + "BundledNETCoreAppPackageVersion").Value = microsoftNETCoreAppRefPackageVersion;
void CheckAndReplaceElement(XElement element)
@@ -83,16 +85,24 @@ void CheckAndReplaceAttribute(XAttribute attribute)
attribute.Value = microsoftNETCoreAppRefPackageVersion;
}
- CheckAndReplaceElement(propertyGroup.Element(ns + "BundledNETCorePlatformsPackageVersion"));
+ if (!isSDKServicing)
+ {
+ CheckAndReplaceElement(propertyGroup.Element(ns + "BundledNETCorePlatformsPackageVersion"));
+ }
var itemGroup = projectXml.Root.Elements(ns + "ItemGroup").First();
- CheckAndReplaceAttribute(itemGroup
- .Elements(ns + "KnownFrameworkReference").First().Attribute("DefaultRuntimeFrameworkVersion"));
+ if (!isSDKServicing)
+ {
+ CheckAndReplaceAttribute(itemGroup
+ .Elements(ns + "KnownFrameworkReference").First().Attribute("DefaultRuntimeFrameworkVersion"));
+ CheckAndReplaceAttribute(itemGroup
+ .Elements(ns + "KnownFrameworkReference").First().Attribute("TargetingPackVersion"));
+ }
+
CheckAndReplaceAttribute(itemGroup
.Elements(ns + "KnownFrameworkReference").First().Attribute("LatestRuntimeFrameworkVersion"));
- CheckAndReplaceAttribute(itemGroup
- .Elements(ns + "KnownFrameworkReference").First().Attribute("TargetingPackVersion"));
+
CheckAndReplaceAttribute(itemGroup
.Elements(ns + "KnownAppHostPack").First().Attribute("AppHostPackVersion"));
CheckAndReplaceAttribute(itemGroup
@@ -100,5 +110,17 @@ void CheckAndReplaceAttribute(XAttribute attribute)
return projectXml.ToString();
}
+
+ ///
+ /// For SDK servicing, few Attributes like "DefaultRuntimeFrameworkVersion" does not use the latest flowed version
+ /// so there is no need to replace them.
+ ///
+ ///
+ private static bool IsSDKServicing(string sdkVersion)
+ {
+ var parsedSdkVersion = NuGet.Versioning.NuGetVersion.Parse(sdkVersion);
+
+ return parsedSdkVersion.Patch % 100 != 0;
+ }
}
}