public static string GetFullAssemblyName(this MetadataReader metadataReader, AssemblyDefinition assemblyDefinition) { var assemblyName = metadataReader.GetString(assemblyDefinition.Name); var culture = metadataReader.GetString(assemblyDefinition.Culture); if (string.IsNullOrEmpty(culture)) { culture = "neutral"; } var version = assemblyDefinition.Version; var publicKeyBytes = metadataReader.GetBlobBytes(assemblyDefinition.PublicKey); byte[] publicKeyTokenBytes = publicKeyBytes; string publicKeyToken = "null"; if (publicKeyBytes.Length > 0) { publicKeyTokenBytes = CalculatePublicKeyToken(publicKeyBytes); publicKeyToken = Conversion.ByteArrayToHexString(publicKeyTokenBytes); } var fullAssemblyName = string.Format( "{0}, Version={1}, Culture={2}, PublicKeyToken={3}", assemblyName, version.ToString(), culture, publicKeyToken); return fullAssemblyName; }
public static AssemblyName ReadAssemblyName(this SrmAssemblyDefinition assemblyDefinition, MetadataReader reader) { var asmName = ReadAssemblyName( reader, assemblyDefinition.Name, assemblyDefinition.Version, assemblyDefinition.Culture); var publicKey = reader.GetBlobBytes(assemblyDefinition.PublicKey); if (publicKey != null) { asmName.SetPublicKey(publicKey); } return(asmName); }
public static AssemblyReferenceInformation FormatAssemblyInfo(this MetadataReader metadataReader, AssemblyDefinition assemblyDefinition) { var name = metadataReader.GetString(assemblyDefinition.Name); return metadataReader.FormatAssemblyInfo(name, assemblyDefinition.Culture, assemblyDefinition.PublicKey, assemblyDefinition.Version); }
public EcmaAssembly(TypeSystemContext context, PEReader peReader, MetadataReader metadataReader) : base(context, peReader, metadataReader) { _assemblyDefinition = metadataReader.GetAssemblyDefinition(); }