469,573 Members | 1,296 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,573 developers. It's quick & easy.


What is the difference between METADATA and MANIFEST
and where do they get stored?

Thank you
Jul 21 '05 #1
1 8315
I have replied the same at http://www.mail-
This is how I understand it. An assembly contains a
Manifest. manifest contains the
metadata + some additional tables. Metadata is data about
itself whereas manifest
includes references to outside classes, dependencies on
other assemblies and
information (tables) about that along with the
metadata.Also remember Metadata is
contained in assembly and modules, manifest is present in
assemblies. An Assembly Manifest is
nothing but some extra tables in the Metadata section of
the PE file which contains
the assembly's identity, culture, files, and publicly
exported types, and all of the
files (modules etc) that comprise the assembly. It also
references other referenced
assemblies on which the assembly is dependent.
This is the main difference between a assembly and a
module. A assembly contains a
assembly manifest while a module does not contain a
assembly manifest. One point to be
noted here is that both assemblies and modules contain
Metadata which describes them.
It is the self-describing assembly manifest which gives
applications on the .NET
Platform independence from the registry.
In layman's terms say if you have a application comprising
of a assembly named
Assem.exe and a module named Mod.dll. Then in the assembly
manifest which will be
stored within the PE Assem.exe will not only contain
metadata about the classes,
methods etc contained within the Assem.exe file but also
it will contain references to
the classes, methods etc exported in the Mod.dll file.
While the module Mod.dll will
only contain metadata describing itself.

You can store the assembly manifest within the executables
or libraries created with
the /t:exe, /t:winexe and /t:library switches in the C#
compiler. Or you can create a
separate PE file which will just contain the assembly
manifest. Although there is no
separate compiler option to create a assembly.
The /t:exe, /t:winexe and /t:library
switches always compile a single PE which contains the
assembly manifest."

HTH, Dolly

Jul 21 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by hawat.thufir | last post: by
2 posts views Thread by Andy Turner | last post: by
1 post views Thread by Fedor Buyakov | last post: by
3 posts views Thread by Jonathan Payne | last post: by
1 post views Thread by Santhu | last post: by
14 posts views Thread by _iycrd | last post: by
reply views Thread by Deshi | last post: by
reply views Thread by suresh191 | last post: by
4 posts views Thread by guiromero | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.