Metadata is the all information used by the CLR to describe and reference types and assemblies. Metadata is independent of any programming language, and is an interchange medium for program information between tools (e.g., compilers and debuggers) and execution environments.