Esempio n. 1
0
        public override void VisitAssemblyNameDefinition(AssemblyNameDefinition name)
        {
            AssemblyTable atable = m_tableReader.GetAssemblyTable();
            AssemblyRow   arow   = atable [0];

            name.Name      = ReadString(arow.Name);
            name.Flags     = arow.Flags;
            name.PublicKey = ReadBlob(arow.PublicKey);

            name.Culture = ReadString(arow.Culture);
            name.Version = new Version(
                arow.MajorVersion, arow.MinorVersion,
                arow.BuildNumber, arow.RevisionNumber);
            name.HashAlgorithm = arow.HashAlgId;
            name.MetadataToken = new MetadataToken(TokenType.Assembly, 1);
        }
Esempio n. 2
0
        public override void VisitAssemblyNameDefinition(AssemblyNameDefinition name)
        {
            AssemblyTable asmTable = m_tableWriter.GetAssemblyTable();

            if (name.PublicKey != null && name.PublicKey.Length > 0)
            {
                name.Flags |= AssemblyFlags.PublicKey;
            }

            AssemblyRow asmRow = m_rowWriter.CreateAssemblyRow(
                name.HashAlgorithm,
                (ushort)name.Version.Major,
                (ushort)name.Version.Minor,
                (ushort)name.Version.Build,
                (ushort)name.Version.Revision,
                name.Flags,
                m_mdWriter.AddBlob(name.PublicKey),
                m_mdWriter.AddString(name.Name),
                m_mdWriter.AddString(name.Culture));

            asmTable.Rows.Add(asmRow);
        }