Metadata

Closely tied to MSIL is metadata. Metadata isn't a set of instructions like MSIL. Rather, it is information that describes the compiled code. It is stored in an assembly with MSIL to make one logical unit.

Here is a sampling of the information that metadata contains:

  • Full assembly name (simple name, version, public key, and culture)

  • Referenced assemblies

  • Visibility, inherited class, and implemented interfaces of each defined class

  • Information about class members such as methods, fields, and properties

Metadata allows .NET assemblies to be self-describing. This means that an assembly contains enough information to be closely inspected by other assemblies. There are unmanaged and managed APIs to view an assembly's metadata.

One other interesting ...

Get .NET Framework Security now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.