diff --git a/ICSharpCode.Decompiler/Metadata/DotNetCorePathFinderExtensions.cs b/ICSharpCode.Decompiler/Metadata/DotNetCorePathFinderExtensions.cs index 03387f61e4..ca241ca9c9 100644 --- a/ICSharpCode.Decompiler/Metadata/DotNetCorePathFinderExtensions.cs +++ b/ICSharpCode.Decompiler/Metadata/DotNetCorePathFinderExtensions.cs @@ -72,6 +72,15 @@ public static string DetectTargetFrameworkId(this PEReader assembly, string asse } } + var thisAssemblyName = reader.GetAssemblyDefinition().GetAssemblyName(); + switch (thisAssemblyName.Name) + { + case "mscorlib": + return $".NETFramework,Version=v{thisAssemblyName.Version.ToString(2)}"; + case "netstandard": + return $".NETStandard,Version=v{thisAssemblyName.Version.ToString(2)}"; + } + foreach (var h in reader.AssemblyReferences) { try @@ -83,7 +92,7 @@ public static string DetectTargetFrameworkId(this PEReader assembly, string asse switch (reader.GetString(r.Name)) { case "netstandard": - version = r.Version.ToString(3); + version = r.Version.ToString(2); return $".NETStandard,Version=v{version}"; case "System.Runtime": // System.Runtime.dll uses the following scheme: