.NET - .NET Assemblies

9.
What is Assembly Manifest?
Assemblies maintain all their information in a special unit called the manifest. Every assembly has a manifest.

The followings are the contents of an Assembly Manifest:
  • Assembly name - Represents a text string that specifies the assembly's name.
  • Version number - Represents a major and minor version number, as well as a revision and build number. The CL.R makes use of these numbers to enforce version policy.
  • Culture - Represents information of the culture or language, which the assembly supports. An assembly is a container of only resources containing culture- or language-specific information.
  • Strong name information - Represents the public key from the publisher, if a strong name is assigned to an assembly.
  • List of all files in the assembly - Represents a hash of each file contained in the assembly and a file name.
  • Type reference information - Represents the information used at the runtime to map a type reference to the file that contains its declaration and implementation.
  • Information on referenced assemblies - Represents a list of other assemblies that are statically referenced by the assembly. Each reference includes the names of dependent assemblies, assembly metadata (version, culture, operating system, and so on), and public key, if the assembly is strong named.

10.
What is the value of the Copy Local property when you add an assembly in the GAC?
False.

11.
What is Native Image Generator?
The Native Image Generator (Ngen.exe) is a tool that creates a native image from an assembly and stores that image to native image cache on the computer. Whenever, an assembly is run, this native image is automatically used to compile the original assembly. In this way, this tool improves the performance of the managed application by loading and executing an assembly faster.

Note that native images are files that consist of compiled processor-specific machine code. The Ngen.exe tool installs these files on to the local computer.

12.
Name the MSIL Disassembler utility that parses any .NET Framework assembly and shows the information in human readable format
The Ildasm.exe utility.