From d663174ca9d3a44831dcfb67f028cab623313f06 Mon Sep 17 00:00:00 2001 From: maxcharlamb Date: Mon, 18 Aug 2025 17:18:08 -0400 Subject: [PATCH 1/2] modify deps.json to be more inline with actual release --- .../GenerateTestSharedFrameworkDepsFile.cs | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/tasks/installer.tasks/GenerateTestSharedFrameworkDepsFile.cs b/src/tasks/installer.tasks/GenerateTestSharedFrameworkDepsFile.cs index 7785a235d970f2..a5df2f02b5d77c 100644 --- a/src/tasks/installer.tasks/GenerateTestSharedFrameworkDepsFile.cs +++ b/src/tasks/installer.tasks/GenerateTestSharedFrameworkDepsFile.cs @@ -50,12 +50,28 @@ public override bool Execute() ".xml" }; - var isAssemblyTofileNames = Directory.EnumerateFiles(SharedFrameworkDirectory) - .Where(file => !ignoredExtensions.Contains(Path.GetExtension(file))) - .ToLookup(file => IsManagedAssembly(file), file => Path.GetFileName(file)); + List runtimeFiles = new List(); + List nativeFiles = new List(); - var managedFileNames = isAssemblyTofileNames[true]; - var nativeFileNames = isAssemblyTofileNames[false]; + foreach (string filePath in Directory.EnumerateFiles(SharedFrameworkDirectory)) + { + if (ignoredExtensions.Contains(Path.GetExtension(filePath))) + continue; + + string fileName = Path.GetFileName(filePath); + string fileVersion = FileUtilities.GetFileVersion(filePath)?.ToString() ?? string.Empty; + Version assemblyVersion = FileUtilities.GetAssemblyName(filePath)?.Version; + if (assemblyVersion == null) + { + RuntimeFile nativeFile = new RuntimeFile(fileName, null, fileVersion); + nativeFiles.Add(nativeFile); + } + else + { + RuntimeFile runtimeFile = new RuntimeFile(fileName, assemblyVersion.ToString(), fileVersion); + runtimeFiles.Add(runtimeFile); + } + } var runtimeLibraries = new[] { @@ -64,8 +80,8 @@ public override bool Execute() name: sharedFxName, version: sharedFxVersion, hash: "hash", - runtimeAssemblyGroups: new[] { new RuntimeAssetGroup(string.Empty, managedFileNames.Select(f => $"runtimes/{rid}/lib/{tfm}/{f}")) }, - nativeLibraryGroups: new[] { new RuntimeAssetGroup(string.Empty, nativeFileNames.Select(f => $"runtimes/{rid}/native/{f}")) }, + runtimeAssemblyGroups: new[] { new RuntimeAssetGroup(string.Empty, runtimeFiles) }, + nativeLibraryGroups: new[] { new RuntimeAssetGroup(string.Empty, nativeFiles) }, resourceAssemblies: Enumerable.Empty(), dependencies: Enumerable.Empty(), serviceable: true) @@ -90,22 +106,6 @@ public override bool Execute() return !Log.HasLoggedErrors; } - private static bool IsManagedAssembly(string file) - { - bool result = false; - try - { - using (var peReader = new PEReader(File.OpenRead(file))) - { - result = peReader.HasMetadata && peReader.GetMetadataReader().IsAssembly; - } - } - catch (BadImageFormatException) - { } - - return result; - } - private static IEnumerable GetRuntimeFallbacks(string[] runtimeGraphFiles, string runtime) { RuntimeGraph runtimeGraph = RuntimeGraph.Empty; From 4c939890dca7028f8f968e581d05d43d6a278713 Mon Sep 17 00:00:00 2001 From: maxcharlamb Date: Mon, 18 Aug 2025 21:12:01 -0400 Subject: [PATCH 2/2] comments --- .../installer.tasks/GenerateTestSharedFrameworkDepsFile.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tasks/installer.tasks/GenerateTestSharedFrameworkDepsFile.cs b/src/tasks/installer.tasks/GenerateTestSharedFrameworkDepsFile.cs index a5df2f02b5d77c..fd73972ce7ec86 100644 --- a/src/tasks/installer.tasks/GenerateTestSharedFrameworkDepsFile.cs +++ b/src/tasks/installer.tasks/GenerateTestSharedFrameworkDepsFile.cs @@ -50,8 +50,8 @@ public override bool Execute() ".xml" }; - List runtimeFiles = new List(); - List nativeFiles = new List(); + List runtimeFiles = []; + List nativeFiles = []; foreach (string filePath in Directory.EnumerateFiles(SharedFrameworkDirectory)) { @@ -61,7 +61,7 @@ public override bool Execute() string fileName = Path.GetFileName(filePath); string fileVersion = FileUtilities.GetFileVersion(filePath)?.ToString() ?? string.Empty; Version assemblyVersion = FileUtilities.GetAssemblyName(filePath)?.Version; - if (assemblyVersion == null) + if (assemblyVersion is null) { RuntimeFile nativeFile = new RuntimeFile(fileName, null, fileVersion); nativeFiles.Add(nativeFile);