DLL and DLL – HELL
Sometimes ago, if we install an application then dll of that application get stored in the registry, then if we install another application that has the same name .dll, Which means that, this file already been installed. The .dll get overwrite by the same name with new .dll. This is a big problem in the context of a version of the same application. This is a Dell-Hell problem. The dll hell refers to a set of problems caused when multiple applications attempt to share a common component like a dynamic link library (DLL). That is the reason for this issue was that the version information about the different components of an application was not recorded by the system. Obviously stated about DLL Hell refers to the set of problems caused when multiple applications attempt to share a common component like a dynamic-link library (DLL) or a Component Object Model (COM) class.
The GAC contains strong-named assemblies. Strong-named assemblies in .NET have 4 pieces in its name as listed below.
1. Name of assembly
2. Version Number
4. Public Key Token
The solution of DLL-Hell Problem is: - This problem of dynamic link library (.dll) is resolved through Versioning.
We can do versioning only with shared assembly because to install .dll in GAC so we need to have a strong key name.
Authentication: verification, to be verified.
Authorization: Providing Role, to provide power, step after authentication in a role.
To see the parts of an assembly : Open cmd prompt of Visual studio and write - ILDASM
ILDASM: is a tool to see the content (metadata) of Assembly.
Single file and multi-file assembly