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 state management techniques in asp.net?

0 Answers  


What is the method used to load generated dataset with data on the DataAdapter control ?

3 Answers   Siebel,


What is asp.net mvc? : asp.net mvc

0 Answers  


Can we add code files of different languages in app_code folder?

0 Answers  


Suppose there is one web farm with 3 servers inside with same configuration and the same project is running inside all servers.Which session mode is usde for all these and why?

3 Answers  






How can we prevent an aspx page get refreshed when any information fetch from the database ?

2 Answers   Minecode,


What are the namespace classes used in asp.net mvc? : asp.net mvc

0 Answers  


Suppose you want a certain ASP.NET function executed on MouseOver overa certain button. Where do you add an event handler?

3 Answers   Visual Soft,


When using the Pager object, inorder to know which page to go, which property you have to set to grid?

0 Answers   Siebel,


What is a pixel url?

0 Answers  


How would you get ASP.NET running in Apache web servers - why would you even do this?

1 Answers   Siebel Systems,


In try catch blocks one is normal catch block and another is sqlcatchexception block

3 Answers   Microsoft,


Categories