Metadata is data that describes the state of the assembly and a detailed description of each type, attribute within the assembly. Metadata stores the following information:
- Description of the assembly.
- Identity (name, version, culture, public key).
- The types that are exported.
- Other assemblies that this assembly depends on.
- Security permissions needed to run.
- Description of types.
- Name, visibility, base class, and interfaces implemented.
- Members (methods, fields, properties, events, nested types).
- Attributes.
- Additional descriptive elements that modify types and members.