namespace Recordingtest.SutProber; public sealed record AssemblyEntry(string Name, long SizeBytes, bool HasPdb); public static class AssemblyScanner { private static readonly string[] Prefixes = { "HmEG", "HmGeometry", "HmTriangle", "HmPG", "HmCommon", "Editor", "EditorCore" }; public static List Scan(string sutRoot) { var entries = new List(); if (!Directory.Exists(sutRoot)) return entries; foreach (var file in Directory.EnumerateFiles(sutRoot, "*.dll", SearchOption.TopDirectoryOnly) .OrderBy(f => f, StringComparer.Ordinal)) { var name = Path.GetFileName(file); if (!Prefixes.Any(p => name.StartsWith(p, StringComparison.Ordinal))) continue; var pdb = Path.ChangeExtension(file, ".pdb"); entries.Add(new AssemblyEntry(name, new FileInfo(file).Length, File.Exists(pdb))); } return entries; } }