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(); }