public static AssemblyName GetAssemblyName(MetadataOnlyModule module) { PortableExecutableKinds portableExecutableKind; ImageFileMachine imageFileMachine; Token assemblyToken = MetadataOnlyAssembly.GetAssemblyToken(module); IMetadataAssemblyImport rawImport = (IMetadataAssemblyImport)module.RawImport; AssemblyNameHelper.AssemblyNameFromDefitionBuilder assemblyNameFromDefitionBuilder = new AssemblyNameHelper.AssemblyNameFromDefitionBuilder(assemblyToken, module.RawMetadata, rawImport); AssemblyName codeBaseFromManifestModule = assemblyNameFromDefitionBuilder.CalculateName(); codeBaseFromManifestModule.CodeBase = MetadataOnlyAssembly.GetCodeBaseFromManifestModule(module); module.GetPEKind(out portableExecutableKind, out imageFileMachine); codeBaseFromManifestModule.ProcessorArchitecture = AssemblyNameHelper.CalculateProcArchIndex(portableExecutableKind, imageFileMachine); return(codeBaseFromManifestModule); }
private static void VerifyModules(MetadataOnlyModule[] modules) { if (modules == null || (int)modules.Length < 1) { throw new ArgumentException(MetadataStringTable.ManifestModuleMustBeProvided); } if (MetadataOnlyAssembly.GetAssemblyToken(modules[0]) == Token.Nil) { throw new ArgumentException(MetadataStringTable.NoAssemblyManifest); } for (int i = 1; i < (int)modules.Length; i++) { if (MetadataOnlyAssembly.GetAssemblyToken(modules[i]) != Token.Nil) { throw new ArgumentException(MetadataStringTable.ExtraAssemblyManifest); } } }
public override IList <CustomAttributeData> GetCustomAttributesData() { return(this.m_manifestModule.GetCustomAttributeData(MetadataOnlyAssembly.GetAssemblyToken(this.m_manifestModule))); }