@@ -85,12 +85,6 @@ public static unsafe AssemblyName GetAssemblyName(string assemblyFile)
8585 peReader = new PEReader ( ( byte * ) safeBuffer . DangerousGetHandle ( ) , ( int ) safeBuffer . ByteLength ) ;
8686 MetadataReader mdReader = peReader . GetMetadataReader ( MetadataReaderOptions . None ) ;
8787 AssemblyName assemblyName = mdReader . GetAssemblyDefinition ( ) . GetAssemblyName ( ) ;
88-
89- AssemblyFlags aFlags = mdReader . AssemblyTable . GetFlags ( ) ;
90- #pragma warning disable SYSLIB0037 // AssemblyName.ProcessorArchitecture is obsolete
91- assemblyName . ProcessorArchitecture = CalculateProcArch ( peReader , aFlags ) ;
92- #pragma warning restore SYSLIB0037
93-
9488 return assemblyName ;
9589 }
9690 finally
@@ -107,42 +101,6 @@ public static unsafe AssemblyName GetAssemblyName(string assemblyFile)
107101 }
108102 }
109103
110- private static ProcessorArchitecture CalculateProcArch ( PEReader peReader , AssemblyFlags aFlags )
111- {
112- // 0x70 specifies "reference assembly".
113- // For these, CLR wants to return None as arch so they can be always loaded, regardless of process type.
114- if ( ( ( uint ) aFlags & 0xF0 ) == 0x70 )
115- return ProcessorArchitecture . None ;
116-
117- PEHeaders peHeaders = peReader . PEHeaders ;
118- switch ( peHeaders . CoffHeader . Machine )
119- {
120- case Machine . IA64 :
121- return ProcessorArchitecture . IA64 ;
122- case Machine . Arm :
123- return ProcessorArchitecture . Arm ;
124- case Machine . Amd64 :
125- return ProcessorArchitecture . Amd64 ;
126- case Machine . I386 :
127- {
128- CorFlags flags = peHeaders . CorHeader ! . Flags ;
129- if ( ( flags & CorFlags . ILOnly ) != 0 &&
130- ( flags & CorFlags . Requires32Bit ) == 0 )
131- {
132- // platform neutral.
133- return ProcessorArchitecture . MSIL ;
134- }
135-
136- // requires x86
137- return ProcessorArchitecture . X86 ;
138- }
139- }
140-
141- // ProcessorArchitecture is a legacy API and does not cover other Machine kinds.
142- // For example ARM64 is not expressible
143- return ProcessorArchitecture . None ;
144- }
145-
146104 private static AssemblyNameFlags GetAssemblyNameFlags ( AssemblyFlags flags )
147105 {
148106 AssemblyNameFlags assemblyNameFlags = AssemblyNameFlags . None ;
0 commit comments