diff --git a/src/Layout/redist/targets/OverlaySdkOnLKG.targets b/src/Layout/redist/targets/OverlaySdkOnLKG.targets
index a7dee46d42a5..406f81137c2f 100644
--- a/src/Layout/redist/targets/OverlaySdkOnLKG.targets
+++ b/src/Layout/redist/targets/OverlaySdkOnLKG.targets
@@ -7,6 +7,12 @@
<_DotNetHiveRoot Condition="!HasTrailingSlash('$(_DotNetHiveRoot)')">$(_DotNetHiveRoot)/
+
+
+
+
+
@@ -29,6 +35,13 @@
SourceFiles="@(InstallerOutputFile->Metadata('Source'))"
SkipUnchangedFiles="true"
UseHardLinksIfPossible="true" />
+
+
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();
}