what is DLL Hell and how it is solved in .NET?

Answers were Sorted based on User's Feedback



what is DLL Hell and how it is solved in .NET?..

Answer / arjun jaiswal

Dll Hell refers to a set of problems caused when multiple
applications attempt to share a common component like a
dynamic link library (DLL). The reason for this issue was
that the version information about the different components
of an application was not recorded by the system.

.Net Framework provides operating systems with a Global
Assembly Cache. This Cache is a repository for all the .Net
components that are shared globally on a particular
machine. When a .Net component is installed onto the
machine, the Global Assembly Cache looks at its version,
its public key, and its language information and creates a
strong name for the component. The component is then
registered in the repository and indexed by its strong
name, so there is no confusion between different versions
of the same component, or DLL.

Is This Answer Correct ?    360 Yes 16 No

what is DLL Hell and how it is solved in .NET?..

Answer / imtiyaz chanderki

Windows Registry can not support the multiple versions of
same com component this is called the dll hell problem.

Dll hell problem is solved by dotnet it allows the
application to specify not only the library it needs to
run but also the version of the assembly

Is This Answer Correct ?    177 Yes 27 No

what is DLL Hell and how it is solved in .NET?..

Answer / dhana

.net solved using dll with different versions

Is This Answer Correct ?    105 Yes 51 No

what is DLL Hell and how it is solved in .NET?..

Answer / vimal victor

DLL Hell :- This is a problem in loading a specific dll
(class id, version number, path etc). For example, if I
build test.dll v1.0.0.0 and deploying it in c:\MyProg. My
application App1 and App2 are using the methods in that
dll. And there is a requirement to change something in App1
and I supposed to change test.dll also for the same
requirement. Once I finished with all my changes, I will be
deploying them in the appropriate locations. Now, the older
dll will be overwritten. And my App2 will look for test.dll
of older version and since it is not there it will not
work. This is a scenario for dll hell issue.

.NET and dll hell:- .NET has a provision to specify whether
a 'Specific Version' to be loaded or not. If you check with
any dll's propery window, that has a property called
Specific Version. By default it will be false for the dll's
created by users. It means whether the specific version
alone has to be loaded for that project. If that is false,
then te runtime will load any available higher version of
dll for that project. Thus this issue has been sorted out.

Is This Answer Correct ?    67 Yes 13 No

what is DLL Hell and how it is solved in .NET?..

Answer / robert

DLL Hell :- This is a problem in loading a specific dll
(class id, version number, path etc). For example, if I
build test.dll v1.0.0.0 and deploying it in c:\MyProg. My
application App1 and App2 are using the methods in that
dll. And there is a requirement to change something in App1
and I supposed to change test.dll also for the same
requirement. Once I finished with all my changes, I will be
deploying them in the appropriate locations. Now, the older
dll will be overwritten. And my App2 will look for test.dll
of older version and since it is not there it will not
work. This is a scenario for dll hell issue.
.Net Framework provides operating systems with a Global
Assembly Cache. This Cache is a repository for all the .Net
components that are shared globally on a particular
machine. When a .Net component is installed onto the
machine, the Global Assembly Cache looks at its version,
its public key, and its language information and creates a
strong name for the component. The component is then
registered in the repository and indexed by its strong
name, so there is no confusion between different versions
of the same component, or DLL.

Is This Answer Correct ?    51 Yes 15 No

what is DLL Hell and how it is solved in .NET?..

Answer / kobra thakur

Registry of operating system is unable to support the
multiple versions of
same com component this is called the dll hell problem.

Dll hell problem is solved by dotnet it allows the
application to specify not only the library it needs to
run but also the version of the assembly

Is This Answer Correct ?    24 Yes 12 No

what is DLL Hell and how it is solved in .NET?..

Answer / moinuddin

Over the history of Windows, the method of tracking of DLL
usage was changed by Microsoft several times, as well as
the problem of rogue
installations that didn't play by the rules--the result was
called "DLL HELL", and the
user was the victim.
Solving DLL hell is one thing that the .NET Framework and
the CLR targeted. Under
the .NET Framework, you can now have multiple versions of a
DLL running
concurrently. This allows developers to ship a version that
works with their program
and not worry about stepping on another program. The
way .NET does this is to
discontinue using the registry to tie DLLs to appliction
and by the concept of assembly

Is This Answer Correct ?    18 Yes 11 No

what is DLL Hell and how it is solved in .NET?..

Answer / parthasarathi

Global assembly Cache (GAC) is a repository for all the .Net components or dll that are shared globally on a particular machine. When a .Net component or dll is installed onto the machine, the Global Assembly Cache looks at its version, its public key, and its language information and creates a strong name for the component or dll. The component or dll is then registered in the GAC and indexed by its strong name, so that even with same name of assembly could be install to GAC that will be having two different versions. Once versioning done with any assembly there will be no chance to conflict, which was earlier happening (DLL HELL).

Is This Answer Correct ?    1 Yes 0 No

what is DLL Hell and how it is solved in .NET?..

Answer / tarun kumar prusty

Traditionally in com component is face this problem.Means
when we developed a application using com component at first
we have to registered under the window operating system by
using a command line tool regsvr32 (dll name) it is the
first problem and another is when we register particular
versions of same com component like V1.0.0.0 it is default
version of every dll we can easily registered.If again we
change the version like v1.0.0.1 and registered again window
operating system it will be face problem i,e window registry
can't be maintained multiple versions of same com
component.To overcome this problem Microsoft has introduce a
new concept known as ASSEMBLY here is not required to
register under operating system and window can maintain
multiple versions same assembly.

Is This Answer Correct ?    2 Yes 2 No

what is DLL Hell and how it is solved in .NET?..

Answer / sabari

DLL Hell is nothing but overwriting the dll in the registery. If two application are installed on a single server, one installed First and the Second Installed Later and There is a dll with same name with different functionality used in both the applications, So in this case Application one works fine all the days until application two Installed on the machine. Once the Application two is installed containing the DLL with the same name as Application one Contains then In this case the application one Fails as the DLL from Application two overwites the DLL of Application one in the Registery. So Application two works fine where as Application one Fails as the DLL is missing.

Is This Answer Correct ?    0 Yes 0 No

Post New Answer

More ASP.NET Interview Questions

What is ViewState and How it is managed,Its Advantages/Benefits?

4 Answers   Google,


What are different methods of session maintenance in asp.net?

0 Answers  


What is an axd file?

0 Answers  


What is data control in asp.net?

0 Answers  


How to store a dataset in a viewstate?

3 Answers   Patni,






What is CTS, CLS and CLR ?

20 Answers   CGI, Palm Technology, Reliable Technology, Satyam, Synergy, TCS,


what is difference between User Control,Custom Contro1,Web server control and template controls

1 Answers  


What is ViewState? How is it encoded? Is it encrypted? Who uses ViewState ?

1 Answers  


Why session management is required?

0 Answers  


Types of instancing properties and explain each. Tell the difference between multiuse,singleuse and globalmultiuse and which is default ?

0 Answers   DELL,


What does it mean your session has timed out?

0 Answers  


Tell About Web.config ?

2 Answers   Keane India Ltd,


Categories