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
What does passport and windows authentication mean in ASP.NET?
What are cao and sao.
How to communicate via Remote proxy with Client? a)MarshalByRef b)Marshal by Value or Any thing else?
What is the parent class of all web server control?
What is data caching?
Why do you use the app_code folder in asp.net?
Is it possible for me to change my aspx file extension to some other name?
Is asp.net a programming language?
What is the difference between asp.net and mvc?
Which is faster union or union all?
What are the Types of chaching. How to implement caching
How to you can limit Access to Web API to Specific HTTP Verb?
How to sign out from forms authentication?
Give 2 examples for scenarios when routing is not applied?
How can u debug your .net application?