X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2Fcorlib%2FSystem.Reflection%2FAssemblyName.cs;h=9da34563f241ccf3e575df1e5acc425dfae28f90;hb=ac194553049b2eeb328f5fc54b708da9b95f4d88;hp=0e09ec5e5ce0595cac84d4bc19ce006646d1eb1c;hpb=2f84b362abcce99427a6ff1926a1b56eb6454036;p=mono.git diff --git a/mcs/class/corlib/System.Reflection/AssemblyName.cs b/mcs/class/corlib/System.Reflection/AssemblyName.cs index 0e09ec5e5ce..9da34563f24 100644 --- a/mcs/class/corlib/System.Reflection/AssemblyName.cs +++ b/mcs/class/corlib/System.Reflection/AssemblyName.cs @@ -54,8 +54,11 @@ namespace System.Reflection { [Serializable] [ClassInterfaceAttribute (ClassInterfaceType.None)] [StructLayout (LayoutKind.Sequential)] +#if MOBILE + public sealed class AssemblyName : ICloneable, ISerializable, IDeserializationCallback { +#else public sealed class AssemblyName : ICloneable, ISerializable, IDeserializationCallback, _AssemblyName { - +#endif #pragma warning disable 169 #region Synch with object-internals.h string name; @@ -72,7 +75,8 @@ namespace System.Reflection { ProcessorArchitecture processor_architecture = ProcessorArchitecture.None; #endregion #pragma warning restore 169 - + + AssemblyContentType contentType; public AssemblyName () { // defaults @@ -281,8 +285,8 @@ namespace System.Reflection { return true; } catch (CryptographicException) { } + break; #endif - break; case 0x07: // private key break; } @@ -320,16 +324,16 @@ namespace System.Reflection { return token; } - [MonoTODO] public static bool ReferenceMatchesDefinition (AssemblyName reference, AssemblyName definition) { if (reference == null) throw new ArgumentNullException ("reference"); if (definition == null) throw new ArgumentNullException ("definition"); - if (reference.Name != definition.Name) - return false; - throw new NotImplementedException (); + + // we only compare the simple assembly name to be consistent with MS .NET, + // which is the result of a bug in their implementation (see https://connect.microsoft.com/VisualStudio/feedback/details/752902) + return string.Equals (reference.Name, definition.Name, StringComparison.OrdinalIgnoreCase); } public void SetPublicKey (byte[] publicKey) @@ -383,6 +387,7 @@ namespace System.Reflection { an.publicKey = publicKey; an.keyToken = keyToken; an.versioncompat = versioncompat; + an.processor_architecture = processor_architecture; return an; } @@ -401,6 +406,7 @@ namespace System.Reflection { return aname; } +#if !MOBILE void _AssemblyName.GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId) { throw new NotImplementedException (); @@ -421,5 +427,22 @@ namespace System.Reflection { { throw new NotImplementedException (); } +#endif + + public string CultureName { + get { + return (cultureinfo == null)? null : cultureinfo.Name; + } + } + + [ComVisibleAttribute(false)] + public AssemblyContentType ContentType { + get { + return contentType; + } + set { + contentType = value; + } + } } }