From d4a27b9b7528fa373fa46cb712d32104090b75ed Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Wed, 9 Jul 2025 22:48:24 +0200 Subject: [PATCH] Fix net10.0-related bug in TargetServices.DetectTargetFramework --- .../CSharp/ProjectDecompiler/TargetServices.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ICSharpCode.Decompiler/CSharp/ProjectDecompiler/TargetServices.cs b/ICSharpCode.Decompiler/CSharp/ProjectDecompiler/TargetServices.cs index 61b3ad39d..48675a2f1 100644 --- a/ICSharpCode.Decompiler/CSharp/ProjectDecompiler/TargetServices.cs +++ b/ICSharpCode.Decompiler/CSharp/ProjectDecompiler/TargetServices.cs @@ -76,11 +76,11 @@ namespace ICSharpCode.Decompiler.CSharp.ProjectDecompiler targetFrameworkIdentifier = frameworkParts.FirstOrDefault(a => !a.StartsWith(VersionToken, StringComparison.OrdinalIgnoreCase) && !a.StartsWith(ProfileToken, StringComparison.OrdinalIgnoreCase)); string frameworkVersion = frameworkParts.FirstOrDefault(a => a.StartsWith(VersionToken, StringComparison.OrdinalIgnoreCase)); - if (frameworkVersion != null) + if (frameworkVersion != null && Version.TryParse(frameworkVersion.Substring(VersionToken.Length).Replace("v", ""), out var version)) { - versionNumber = int.Parse(frameworkVersion.Substring(VersionToken.Length).Replace("v", "").Replace(".", "")); - if (versionNumber < 100) - versionNumber *= 10; + versionNumber = version.Major * 100 + version.Minor * 10; + if (version.Build > 0) + versionNumber += version.Build; } string frameworkProfile = frameworkParts.FirstOrDefault(a => a.StartsWith(ProfileToken, StringComparison.OrdinalIgnoreCase));