35 internal struct Record
38 internal int HashAlgId;
39 internal ushort MajorVersion;
40 internal ushort MinorVersion;
41 internal ushort BuildNumber;
42 internal ushort RevisionNumber;
44 internal BlobHandle PublicKey;
45 internal StringHandle
Name;
46 internal StringHandle Culture;
50 internal const int Index = 0x20;
54 for (
int i = 0; i < records.Length; i++)
56 records[i].HashAlgId = mr.ReadInt32();
57 records[i].MajorVersion = mr.ReadUInt16();
58 records[i].MinorVersion = mr.ReadUInt16();
59 records[i].BuildNumber = mr.ReadUInt16();
60 records[i].RevisionNumber = mr.ReadUInt16();
61 records[i].Flags = mr.ReadInt32();
62 records[i].PublicKey = MetadataTokens.BlobHandle(mr.ReadBlobIndex());
63 records[i].Name = MetadataTokens.StringHandle(mr.ReadStringIndex());
64 records[i].Culture = MetadataTokens.StringHandle(mr.ReadStringIndex());
68 internal override void Write(ModuleBuilder module)
71 module.Metadata.AddAssembly(
73 new Version(records[i].MajorVersion, records[i].MinorVersion, records[i].BuildNumber, records[i].RevisionNumber),
76 (
System.Reflection.AssemblyFlags)records[i].Flags,
77 (
System.Reflection.AssemblyHashAlgorithm)records[i].HashAlgId);