Bug 30502

Summary: AssemblyName.CultureName implementation differs from .NET.
Product: [Mono] Class Libraries Reporter: marcos.henrich
Component: mscorlibAssignee: marcos.henrich
Status: RESOLVED FIXED    
Severity: normal CC: mono-bugs+mono
Priority: ---    
Version: unspecified   
Target Milestone: Untriaged   
Hardware: PC   
OS: Mac OS   
Tags: Is this bug a regression?: ---
Last known good build:

Description marcos.henrich 2015-05-27 12:26:40 UTC
.NET has a different implementation of AssemblyName.CultureName.

This causes failures in Roslyn while comparing assemblies and references culture names.
Roslyn assumes that some assemblies loaded from data have no culture name, while mono implementation of AssemblyName.CultureName would return "neutral".
Comment 1 marcos.henrich 2015-05-28 05:50:38 UTC
To reproduce:

[Test]
public void CultureNameInvariant ()
{
	var an = new AssemblyName ("TestDll");
	an.CultureInfo = new CultureInfo (CultureInfo.InvariantCulture.LCID);

	Assert.AreEqual ("", an.CultureName);
}
Comment 2 marcos.henrich 2015-05-28 05:52:09 UTC
The pull request for this issue can be found in the link below.
https://github.com/mono/mono/pull/1838
Comment 3 marcos.henrich 2015-05-28 05:52:51 UTC
Fixed in master 221d1acb3a8bebfe764486cd86f52f2b0ecb27dd.
https://github.com/mono/mono/commit/221d1acb3a8bebfe764486cd86f52f2b0ecb27dd