Skip to content

Commit b50f4e1

Browse files
authored
Enable detection of .NET version without TargetFrameworkAttribute (#3580)
1 parent 16b74f6 commit b50f4e1

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

ICSharpCode.Decompiler/Metadata/DotNetCorePathFinderExtensions.cs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,16 +100,24 @@ public static string DetectTargetFrameworkId(this MetadataReader metadata, strin
100100
// 4.2.0 => .NET Core 2.0
101101
// 4.2.1 => .NET Core 2.1 / 3.0
102102
// 4.2.2 => .NET Core 3.1
103+
// 5.0.0+ => .NET 5+
103104
if (r.Version >= new Version(4, 2, 0))
104105
{
105-
version = "2.0";
106-
if (r.Version >= new Version(4, 2, 1))
106+
if (r.Version.Major >= 5)
107107
{
108-
version = "3.0";
108+
version = r.Version.ToString(2);
109109
}
110-
if (r.Version >= new Version(4, 2, 2))
110+
else if (r.Version.Major == 4 && r.Version.Minor == 2)
111111
{
112-
version = "3.1";
112+
version = r.Version.Build switch {
113+
<= 0 => "2.0",
114+
1 => "3.0",
115+
_ => "3.1"
116+
};
117+
}
118+
else
119+
{
120+
version = "2.0";
113121
}
114122
return $".NETCoreApp,Version=v{version}";
115123
}

0 commit comments

Comments
 (0)