Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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);
         }
     }
 }
Esempio n. 3
0
 public override IList <CustomAttributeData> GetCustomAttributesData()
 {
     return(this.m_manifestModule.GetCustomAttributeData(MetadataOnlyAssembly.GetAssemblyToken(this.m_manifestModule)));
 }