From c71e7ef947b16679b37dd5e2956e6acd2fdc1d97 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sat, 2 Mar 2019 00:13:43 +0100 Subject: [PATCH] Fix #1433: Incorrect architecture displayed for .NET 2.0 assemblies. --- ILSpy/Languages/Language.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ILSpy/Languages/Language.cs b/ILSpy/Languages/Language.cs index 129215760..e09fadf01 100644 --- a/ILSpy/Languages/Language.cs +++ b/ILSpy/Languages/Language.cs @@ -505,9 +505,11 @@ namespace ICSharpCode.ILSpy case Machine.I386: if ((corflags & CorFlags.Prefers32Bit) != 0) return "AnyCPU (32-bit preferred)"; + if ((corflags & CorFlags.Requires32Bit) != 0) + return "x86"; // According to ECMA-335, II.25.3.3.1 CorFlags.Requires32Bit and Characteristics.Bit32Machine must be in sync // for assemblies containing managed code. However, this is not true for C++/CLI assemblies. - if ((corflags & CorFlags.Requires32Bit) != 0 || (characteristics & Characteristics.Bit32Machine) != 0) + if ((corflags & CorFlags.ILOnly) == 0 && (characteristics & Characteristics.Bit32Machine) != 0) return "x86"; return "AnyCPU (64-bit preferred)"; case Machine.Amd64: