| 1. |
What Is Difference Between Metadata And Manifest? |
|
Answer» Metadata and MANIFEST forms an integral part of an assembly( dll / exe ) in .net framework . Out of which Metadata is a mandatory component, which as the name suggests gives the details about various components of IL code viz : Methods, properties, fields, class etc. Essentially Metadata MAINTAINS details in FORM of tables like Methods Metadata tables , Properties Metadata tables, which maintains the list of given type and other details like access specifier , return type etc. Now Manifest is a part of metadata only, fully called as “manifest metadata tables” , it contains the details of the references needed by the assembly of any other EXTERNAL assembly / type , it could be a custom assembly or standard SYSTEM namespace. Now for an assembly that can independently exists and used in the .Net world both the things ( Metadata with Manifest ) are mandatory , so that it can be fully described assembly and can be ported anywhere without any system dependency . Essentially .Net framework can read all assembly related information from assembly itself at runtime. But for .Net modules , that can’t be used independently , until they are being packaged as a part of an assembly , they don’t contain Manifest but their complete structure is defined by their respective metadata. Metadata and Manifest forms an integral part of an assembly( dll / exe ) in .net framework . Out of which Metadata is a mandatory component, which as the name suggests gives the details about various components of IL code viz : Methods, properties, fields, class etc. Essentially Metadata maintains details in form of tables like Methods Metadata tables , Properties Metadata tables, which maintains the list of given type and other details like access specifier , return type etc. Now Manifest is a part of metadata only, fully called as “manifest metadata tables” , it contains the details of the references needed by the assembly of any other external assembly / type , it could be a custom assembly or standard System namespace. Now for an assembly that can independently exists and used in the .Net world both the things ( Metadata with Manifest ) are mandatory , so that it can be fully described assembly and can be ported anywhere without any system dependency . Essentially .Net framework can read all assembly related information from assembly itself at runtime. But for .Net modules , that can’t be used independently , until they are being packaged as a part of an assembly , they don’t contain Manifest but their complete structure is defined by their respective metadata. |
|