what is DLL Hell and how it is solved in .NET?
Answer Posted / pradeepn gupta
"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. In the most typical case, one application
will install a new version of the shared component that is
not backward compatible with the version already on the
machine. Although the application that has just been
installed works well, existing applications that depended on
a previous version of the shared component might no longer
work. In some cases, the cause of the problem is even more
subtle. In many cases there is a significant delay before a
user discovers that an application has stopped working. As a
result, it is often difficult to remember when a change was
made to the machine that could have affected the
application. A user may remember installing something a week
ago, but there is no obvious correlation between that
installation and the behavior they are now seeing. The
reason for these issues is that version information about
the different components of an application aren't recorded
or enforced by the system. Also, changes made to the system
on behalf of one application will typically affect all
applications on the machine.
One reason why it was hard to build an isolated application
was the run-time environment typically allowed the
installation of only a single version of a component or an
application. This restriction means that component authors
must write their code in a way that remains backward
compatible, otherwise they risk breaking existing
applications when they install a new component. In practice,
writing code that is forever backward compatible is
extremely difficult, if not impossible. Also components were
shared because disk space and memory was expensive. In the
past few years, hard disk and memory prices have dropped
dramatically, and disk space is no longer a premium. But as
applications have increased in size and in modularity not so
long ago many applications were entirely self-contained in a
single .exe file - the DLL sharing issue has not been
addressed, and the problem has grown over time.
| Is This Answer Correct ? | 0 Yes | 1 No |
Post New Answer View All Answers
Explain the difference between server.transfer and response.redirect? Why would I choose one over the other?
What is anonymous authentication?
Can master pages be nested?
Is there any alternative to avoid name collisions other then Namespaces?
Where sessions are stored?
What is the biggest disadvantage of “Other Return Types” in Web API?
What is masterpage?
To get the values in two different controls to match which control you use it?
How to fetch a data from one table to another table in asp.net ?
Where code pages are used?
Describe a Windows Service and its lifecycle ?
Explain a program using razor view engine to create a simple application? : asp.net mvc
What kind of programming language is ASP.NET?
What are navigation controls? How many navigation controls are there in ASP.NET 4.0?
Why will you usually create an aspnet user account in the database for an asp.net web application?