Assembly



21. What is ILDASM ?  

Its a tool used to view contents of an assembly.


22. what is ngen.exe ?  

Native Image Generator.It compiles the entire assembly during installation. It creates native images that are nothing but files so that the next time compiles compiles it picks up these images instead of files from JIT. This helps in faster compilation.It can be used only if ngen is used for all the assembly in the application.


23. What is GAC ?  

It a a cache for assemblies which are globally available. For assemblies to be loadede in GAC they must have a strong name.Strong name ensures that assemblies with same name exists in GAC.


24. What is strong name ?  

Its a .Net assembly name that consists of foll- Name,Version,Culture Info and Public Key token. It is used to help different versions of same assembly co-exist in GAC.



25. What do you mean by signing a assembly  

it means ensuring your software does not fall into wrong hands. this is done by creating a .snk file for the assembly and then it is used to sign the assembly by giving it a strong name. .Net uses digital signature to safe guard the integrity of an assembly .it follows Public-key cryptography.


26. Explain how public key cryptography works.  

In this method both the sender and receiver will have set of keys know as public keys(which is used to encrypt a assembly) and private key(used to decrypt an assembly).when you sign an assembly using snk utility these two keys are embedded into the assembly. the assembly gets signed by the pubic key ,public key is freely distributed. the user who wants to use it must have the private key which is used to decrypt this assembly.


27. What is satellite assembly ?  

satellite assembly consists of resource files which for a specific language.it can be used for localization and globalization.


28. what is shfusion.dll?  

Its a dll that allows you to see the contents of GAC very easily.go to run command and type assembly ,it opens up a windows which shows the contents of assembly.


29. What is Global.asax file used for?  

It executes application-level events and sets application-level variables.


30. What are the different kinds of assemblies?  

There can be two types of assemblies.

Static assemblies -

They are stored on disk in portable executable files.
It includes .NET Framework types like interfaces and classes, resources for the assembly (bitmaps, JPEG files, resource files etc.).

Dynamic assemblies -

They are not saved on disk before execution rather they run directly from memory.
They can be saved to disk after they have been executed.



31. What are the different types of Assembly?  

There are two types of assembly Private and Public assembly. A private assembly is normally used by a single application, and is stored in the application's directory, or a sub-directory beneath. A shared assembly is normally stored in the global assembly cache, which is a repository of assemblies maintained by the .NET runtime. Shared assemblies are usually libraries of code, which many applications will find useful, e.g. Crystal report classes that will be used by all application for Reports.


32. If you want to view an Assembly how do you go about it?  

When it comes to understanding of internals, nothing can beat ILDASM. ILDASM converts the whole ‘exe’ or ‘dll’ in to IL code. To run ILDASM you have to go to ‘C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin’. Note that we had v1.1 you have to probably change it depending on the type of framework version you have.

If you run IDASM.EXE from the path you will be popped with the IDASM exe program as shown in figure ILDASM. Click on file and browse to the respective directory for the DLL whose assembly you want to view. After you select the DLL you will be popped with a tree view details of the DLL as shown in figure ILDASM. On double clicking on manifest, you will be able to view details of assembly, internal IL code etc as shown in Figure ‘Manifest View’.



33. Is versioning applicable to private assemblies?  

Versioning concept is only applicable to global assembly cache (GAC) as private assembly lie in their individual folders. This does not mean versioning is not needed , you can still version it to have better version control on the project.


34. What is Manifest?  

Assembly metadata is stored in Manifest. Manifest contains all the metadata needed to do the following things :

  • Version of assembly.
  • Security identity.
  • Scope of the assembly.
  • Resolve references to resources and classes.

The assembly manifest can be stored in a PE file either (an .exe or) .dll with Microsoft intermediate language (MSIL code with Microsoft intermediate language (MSIL) code or in a stand-alone PE file, that contains only assembly manifest information.



35. What is a code group?  

A code group is a set of assemblies that share a security context.


.Net Interview Question

PHP Interview Question

Java Interview Question

AngularJS Interview Questions