Esempio n. 1
0
        public uint CreateAssemblyRef(IAssembly assembly)
        {
            var rid = TablesHeap.AssemblyRefTable.Create();
            var row = new RawAssemblyRefRow((ushort)assembly.Version.Major, (ushort)assembly.Version.Minor,
                                            (ushort)assembly.Version.Build, (ushort)assembly.Version.Revision,
                                            (uint)assembly.Attributes,
                                            BlobHeap.Create(GetPublicKeyOrTokenBytes(assembly.PublicKeyOrToken)),
                                            StringsHeap.Create(assembly.Name),
                                            StringsHeap.Create(assembly.Culture),
                                            BlobHeap.Create((assembly as AssemblyRef)?.Hash));

            TablesHeap.AssemblyRefTable.Set(rid, ref row);
            return(rid);
        }
Esempio n. 2
0
        public uint CreateAssemblyRef(IAssembly assembly)
        {
            var rid = TablesHeap.AssemblyRefTable.Create();
            var row = TablesHeap.AssemblyRefTable.Get(rid);

            row.MajorVersion     = (ushort)assembly.Version.Major;
            row.MinorVersion     = (ushort)assembly.Version.Minor;
            row.BuildNumber      = (ushort)assembly.Version.Build;
            row.RevisionNumber   = (ushort)assembly.Version.Revision;
            row.Flags            = (uint)assembly.Attributes;
            row.PublicKeyOrToken = BlobHeap.Create(GetPublicKeyOrTokenBytes(assembly.PublicKeyOrToken));
            row.Name             = StringsHeap.Create(assembly.Name);
            row.Locale           = StringsHeap.Create(assembly.Culture);
            row.HashValue        = BlobHeap.Create((assembly as AssemblyRef)?.Hash);
            return(rid);
        }