/* public String SimpleName { get { return m_SimpleName; } } public String Culture { get { return m_Culture; } } */ public AssemblyInfo(System.Reflection.AssemblyName AN) { m_Version = AN.Version; m_Flags = (UInt32) AN.Flags; byte[] Token; if ((m_Flags & (UInt32) System.Reflection.AssemblyNameFlags.PublicKey) == 0) Token = AN.GetPublicKeyToken(); else Token = AN.GetPublicKey(); if ((Token != null) && (Token.Length==0)) m_PublicKey = null; else m_PublicKey = Token; m_SimpleName = AN.Name; m_Culture = AN.CultureInfo.Name; if (m_Culture.Length == 0) m_Culture = null; m_FullName = null; m_PublicKeyToken = null; }
internal static bool PublicKeyMatches(System.Reflection.AssemblyName a1, byte[] publicKeyOrToken) { if (publicKeyOrToken == null) return a1.GetPublicKey() == null; byte[] publicKey = a1.GetPublicKey(); if (publicKey != null && publicKeyOrToken.Length == publicKey.Length) { for (int i = 0; i < publicKey.Length; i++) if (publicKey[i] != publicKeyOrToken[i]) return false; return true; } byte[] publicKeyToken = a1.GetPublicKeyToken(); if (publicKeyOrToken.Length == publicKeyToken.Length) { for (int i = 0; i < publicKeyToken.Length; i++) if (publicKeyToken[i] != publicKeyOrToken[i]) return false; return true; } return false; }