---
title: "DLL hell Problem in .Net"  
description: "In this blog, I’m explaining about DLL hell problem and solution in .Net  DLL hell refers to a set of problems caused when multiple application attemp"  
author: "priyanka kushwaha"  
published: 2015-01-21  
updated: 2015-01-21  
canonical: https://www.mindstick.com/blog/726/dll-hell-problem-in-dot-net  
category: ".net"  
tags: [".net", ".net assembly"]  
reading_time: 2 minutes  

---

# DLL hell Problem in .Net

In this blog, I’m explaining about [DLL hell problem](https://answers.mindstick.com/qa/93683/what-is-dll-hell-problem) and solution in .Net\

DLL hell refers to a set of problems caused when multiple [application](https://www.mindstick.com/articles/12824/calculator-application-in-android) attempt to share a common component like a dynamic link library (DLL). The reason for this issue was that the version information about the different [components](https://www.mindstick.com/blog/74096/understanding-the-role-of-some-integral-ac-components) of an application was not recorded by the system.

##### Solution of DLL-hell Problem

This problem of dynamic link library (.dll) is resolved through [Versioning](https://www.mindstick.com/forum/159143/what-is-dll-versioning-and-why-it-is-important).

##### Versioning

Versioning is the technique to provide version to the .dll to [prevent them](https://www.mindstick.com/blog/12559/real-threats-to-your-business-how-to-prevent-them) from replacement.

GAC ([Global assembly](https://www.mindstick.com/forum/158570/what-is-the-global-assembly-cache-gac-and-how-is-it-used-in-dot-net) cache) is the separate memory like cache it is used to remove load from [operating System](https://www.mindstick.com/articles/229069/operating-system-development).

**Note**-Versioning is not applicable to private assemblies as these assemblies reside in their individual folders. Versioning can be applied to GAC only.

##### Strong-Named Assemblies

Strong is similar to GUID (it is supposed to be unique in space and time). [Strong name](https://www.mindstick.com/articles/440/what-is-strong-name-in-assembly) is only needed when we need to deploy assembly in GAC. Strong name help GAC to differentiate between [two versions](https://www.mindstick.com/interview/34125/how-do-you-compare-last-modified-time-between-two-versions-of-a-file).

A strong name contains the assembly's identity i.e. Its text name, version number, and culture information strengthened by a public key and a [digital signature](https://www.mindstick.com/articles/126127/what-is-digital-signature-how-it-works-benefits-objectives) generated over the assembly. This is because the CLR verifies the strong name signature when the assembly is placed in the Global Assembly Cache.

---

Original Source: https://www.mindstick.com/blog/726/dll-hell-problem-in-dot-net

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
