Example #1
0
        internal AssemblyDefinition(AssemblyNameDefinition name)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            m_asmName  = name;
            m_modules  = new ModuleDefinitionCollection(this);
            m_resolver = new DefaultAssemblyResolver();
        }
Example #2
0
        public static AssemblyDefinition DefineAssembly(string assemblyName, string moduleName, TargetRuntime rt, AssemblyKind kind)
        {
            AssemblyNameDefinition asmName = new AssemblyNameDefinition();

            asmName.Name = assemblyName;
            AssemblyDefinition asm = new AssemblyDefinition(asmName);

            asm.Runtime = rt;
            asm.Kind    = kind;
            ModuleDefinition main = new ModuleDefinition(moduleName, asm, true);

            asm.Modules.Add(main);
            return(asm);
        }
Example #3
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);
        }
Example #4
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);
        }
Example #5
0
 internal AssemblyDefinition(AssemblyNameDefinition name, StructureReader reader) : this(name)
 {
     m_reader = reader;
 }
 public virtual void VisitAssemblyNameDefinition(AssemblyNameDefinition name)
 {
 }