Brief description  about Online courses   join in Online courses
View Dotnet  Teacher 's Profile

What is DLL Hell

Can some one clarify about DLL Hell and how it has been resolved in Dot Net Framework
Asked by Dotnet Teacher | Dec 28, 2010 |  Reply now
Replies (1)
View Dotnet Teacher 's Profile

DLL hell means deploying the same DLL in your application multiple times.DLL Hell can be overcome by versioning, i e; suppose u install some DLL for the first time, it will be V1.0, again if u install the same , this time it will be V2.0, we can differentiate the DLL by its version and depending on our requirement, we can load the respective DLL into our application.
In very clear way we can say that
DLL Hell: In windows applications some dlls are shared
ones. Suppose app1 is an application running perfectly. It
is sharing a shared dll named shared1.dll. You are
installing another application app2. Suppose app2
application is also having a shared dll named shared1.dll.
At the time of app2 installation, installer will overwrite
the shared1.dll which is already there on our system and
being shared by app1. The new shared1.dll may be different
than the previous dll which is overwritten. Now the
application app1 which is depending on overwritten
shared1.dll will become defunct. app1 will fail.
that's all about dll hell.

Dot net shared assemblies are strongly named. Different
assemblies with same name but with different version
numbers may coexist in shared folders.
This is the solution provided by dot net.
Dec 30, 2010