diff options
Diffstat (limited to 'src/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/MetadataReaderExtensions.Ecma.cs')
-rw-r--r-- | src/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/MetadataReaderExtensions.Ecma.cs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/MetadataReaderExtensions.Ecma.cs b/src/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/MetadataReaderExtensions.Ecma.cs index ebd30963a..7b50bee42 100644 --- a/src/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/MetadataReaderExtensions.Ecma.cs +++ b/src/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/MetadataReaderExtensions.Ecma.cs @@ -9,6 +9,7 @@ using System.Diagnostics; using System.Collections; using System.Collections.Generic; using System.Collections.Immutable; +using System.Globalization; using Internal.LowLevelLinq; using Internal.Reflection.Core; @@ -91,10 +92,18 @@ namespace System.Reflection.Runtime.General publicKeyOrTokenByteArray = Array.Empty<byte>(); } + string cultureName = culture.GetString(reader); + if (!String.IsNullOrEmpty(cultureName)) + { + // Canonicalize spelling and force a CultureNotFoundException if not a valid culture + CultureInfo cultureInfo = CultureInfo.GetCultureInfo(cultureName); + cultureName = cultureInfo.Name; + } + return new RuntimeAssemblyName( name.GetString(reader), version, - culture.GetString(reader), + cultureName, assemblyNameFlags, publicKeyOrTokenByteArray ); |