diff --git a/eng/Versions.props b/eng/Versions.props
index 28861ec24a4a..7877a0db0815 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -38,8 +38,8 @@
36
20
- 17
- 6
+ 20
+ 9
<_NET70ILLinkPackVersion>7.0.100-1.23211.1
diff --git a/src/Layout/redist/targets/OverlaySdkOnLKG.targets b/src/Layout/redist/targets/OverlaySdkOnLKG.targets
index a7dee46d42a5..17e00b153544 100644
--- a/src/Layout/redist/targets/OverlaySdkOnLKG.targets
+++ b/src/Layout/redist/targets/OverlaySdkOnLKG.targets
@@ -7,6 +7,12 @@
<_DotNetHiveRoot Condition="!HasTrailingSlash('$(_DotNetHiveRoot)')">$(_DotNetHiveRoot)/
+
+
+
+
+
@@ -24,6 +30,13 @@
+
+
e.Attribute("TargetFramework")?.Value == currentTargetFramework))
+ {
+ CheckAndReplaceAttribute(element.Attribute("DefaultRuntimeFrameworkVersion"));
+ CheckAndReplaceAttribute(element.Attribute("TargetingPackVersion"));
+ }
+ }
+
+ foreach (var element in itemGroup.Elements(ns + "KnownFrameworkReference")
+ .Where(e => e.Attribute("TargetFramework")?.Value == currentTargetFramework))
+ {
+ CheckAndReplaceAttribute(element.Attribute("LatestRuntimeFrameworkVersion"));
+ }
+ foreach (var element in itemGroup.Elements(ns + "KnownAppHostPack")
+ .Where(e => e.Attribute("TargetFramework")?.Value == currentTargetFramework))
+ {
+ CheckAndReplaceAttribute(element.Attribute("AppHostPackVersion"));
+ }
+
+ foreach (var element in itemGroup.Elements(ns + "KnownCrossgen2Pack")
+ .Where(e => e.Attribute("TargetFramework")?.Value == currentTargetFramework))
+ {
+ CheckAndReplaceAttribute(element.Attribute("Crossgen2PackVersion"));
+ }
+
+ foreach (var element in itemGroup.Elements(ns + "KnownILCompilerPack")
+ .Where(e => e.Attribute("TargetFramework")?.Value == currentTargetFramework))
+ {
+ CheckAndReplaceAttribute(element.Attribute("ILCompilerPackVersion"));
+ }
+
+ foreach (var element in itemGroup.Elements(ns + "KnownILLinkPack")
+ .Where(e => e.Attribute("TargetFramework")?.Value == currentTargetFramework))
+ {
+ CheckAndReplaceAttribute(element.Attribute("ILLinkPackVersion"));
+ }
+
+ // web assembly packs always use the latest regardless of the TFM
+ foreach (var element in itemGroup.Elements(ns + "KnownWebAssemblySdkPack"))
+ {
+ CheckAndReplaceAttribute(element.Attribute("WebAssemblySdkPackVersion"));
+ }
+
+ foreach (var element in itemGroup.Elements(ns + "KnownAspNetCorePack")
+ .Where(e => e.Attribute("TargetFramework")?.Value == currentTargetFramework))
+ {
+ CheckAndReplaceAttribute(element.Attribute("AspNetCorePackVersion"));
}
- CheckAndReplaceAttribute(itemGroup
- .Elements(ns + "KnownFrameworkReference").First().Attribute("LatestRuntimeFrameworkVersion"));
- CheckAndReplaceAttribute(itemGroup
- .Elements(ns + "KnownAppHostPack").First().Attribute("AppHostPackVersion"));
- CheckAndReplaceAttribute(itemGroup
- .Elements(ns + "KnownCrossgen2Pack").First().Attribute("Crossgen2PackVersion"));
- CheckAndReplaceAttribute(itemGroup
- .Elements(ns + "KnownILCompilerPack").First().Attribute("ILCompilerPackVersion"));
- CheckAndReplaceAttribute(itemGroup
- .Elements(ns + "KnownILLinkPack").First().Attribute("ILLinkPackVersion"));
-
- CheckAndReplaceAttribute(itemGroup
- .Elements(ns + "KnownRuntimePack").First().Attribute("LatestRuntimeFrameworkVersion"));
+ foreach (var element in itemGroup.Elements(ns + "KnownRuntimePack")
+ .Where(e => e.Attribute("TargetFramework")?.Value == currentTargetFramework))
+ {
+ CheckAndReplaceAttribute(element.Attribute("LatestRuntimeFrameworkVersion"));
+ }
return projectXml.ToString();
}