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


Please Help Members By Posting Answers For Below Questions

how to include timer or counting time to display next page in asp.net

1601


What does ascx stand for?

504


What is AutoEventWireup attribute for ?

597


Explain page output caching?

522


Diff between web user control and web custom control?

496






Explain the purpose of storyboard.targetproperty.

519


What is gridview in asp.net?

516


What’s difference between “optimistic” and “pessimistic” locking?

575


Can you explain the importance of finalize method in .net?

585


What is a postback url?

491


what is publisher?

1648


What is Web API Routing?

602


How does a content page different from a master page?

572


What is session in web technology?

518


What is tracing? Where is it used?

555