private static string FindVerifier()

in ILRepack.IntegrationTests/Peverify/PeverifyHelper.cs [26:62]


        private static string FindVerifier()
        {
            var sdkdir = @"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\";
            if (!Directory.Exists(sdkdir))
            {
                throw new Exception("Windows SDK not found");
            }

            List<Version> versions = new List<Version>();

            foreach(var dir in Directory.EnumerateDirectories(sdkdir, "NETFX *"))
            {
                var parts = Path.GetFileName(dir)?.Split(' ');

                if(parts == null || parts.Length != 3) continue;

                if (Version.TryParse(parts[1], out var ver))
                {
                    versions.Add(ver);
                }
            }

            if (versions.Count == 0)
            {
                throw new Exception(".NET SDK not found");
            }

            var latest = versions.Max();

            var tools = $"{sdkdir}\\NETFX {latest} Tools\\";

            if (Environment.Is64BitOperatingSystem)
            {
                return $"{tools}\\x64\\peverify.exe";
            }
            return $"{tools}\\peverify.exe";
        }