What is DLL HELL in .NET

Let us try and understand DLL HELL problem with an example. Please refer to the image below. If you want to know how dll hell problem is solved in .net, you can read this article.



1. I have 2 applications, A1 and A2 installed on my computer.

2. Both of these applications use shared assembly shared.dll

3. Now, I have a latest version of Application - A2 available on the internet.

4. I download the latest version of A2 and install it on my machine.

5. This new installation has over written Shared.dll, which is also used by Application - A1.

6. Application - A2 works fine, but A1 fails to work, because the newly installed Shared.dll is not backward compatible.

So, DLL HELL is a problem where one application will install a new version of the shared component that is not backward compatible with the version already on the machine, causing all the other existing applications that rely on the shared component to break. With .NET versioning we donot have DLL HELL problem any more.

How is the DLL HELL problem solved in .NET, is another very important .net interview question. Click here to read.

If you can improve this answer further, please feel free to do so by submitting the form below. Thank you very much for your contribution.

9 comments:

  1. Hi,
    i need to answer:-
    what is (abstract class,interfac,generics,data abstraction,webservices)why use all the above
    please explain with real time example.
    suppose if not use all the above then what will happen and if similar to above concept then why not use that concept.

    utpal chandra

    ReplyDelete
    Replies
    1. Abstract class is used when some methods are default implimentated and other methods are not implimented that is abstract
      Derived class needs to provide implimentation for abstract methods
      ---------------------------------------------------
      Interfaces are used when all methods are not implimented
      Derived class needs to provide implimentation for all methods as per their own requirement
      ---------------------------------------------------
      Both abstract class and interface can not be instantiated. Both can be inherited
      ---------------------------------------------------
      Data abstraction is acheived by means of get set properties, keeping data private and properties public
      ---------------------------------------------------

      Delete
  2. can an app use more than one web.config file

    ReplyDelete
    Replies
    1. yes an ASP.net application van have more than one web.config file .This is used to provide security t different level of users.......

      Delete
    2. yes u can use more than one because it provides many functionlaty like as xml files,recompilation,common setting for website,runtime data editing,connecting of database and security etc......

      Delete
  3. yes we can use more than one web.config file as we make sub folders in application and add web.config to that folder. it will be helpful when you want to do setting for specific files.

    ReplyDelete
  4. Yes we can use more than one web.config but only one web config remain in one folder. no more than on web config reside in any single folder.

    ReplyDelete
  5. hi
    what is the difference between abstract class and interfaces???

    ReplyDelete
  6. You have to create a registration form in which when user opens the registration form and enters the emp id then automatically all the information should be filled from the data base in that particular form against that particular emp id
    and initially each text box should be set to disabled mode by default and when user clicks on edit button then the user should be able to enter (edit ) the form (all text boxes should be then be enabled)

    ReplyDelete

If you are aware of any other asp.net questions asked in an interview, please post them below. If you find anything missing or wrong, please feel free to correct by submitting the form below.

 
Disclaimer - Terms of use - Contact Us