A .NET static assembly can consist of following elements:
a) Assembly Manifest - The Metadata that describes the assembly and its contents
b) Type Metadata - Defines all types, their properties and methods.
c) MSIL - Microsoft intermediate language
d) A set of Resources - All other resources like icons, images etc.
Only the assembly manifest is required, but either types or resources are needed to give the assembly in any meaningful functionality.