Definición - ¿Qué significa DLL Hell?
El infierno de DLL es un término común para varios problemas asociados con el uso de bibliotecas de vínculos dinámicos (DLL) o archivos DLL. Un archivo DLL es un recurso dentro del sistema operativo Windows que contiene código y datos relacionados con la funcionalidad de una o más aplicaciones. Estos archivos, que pueden tener la extensión de archivo .dll u otras extensiones de archivo, han sido un componente importante para el sistema operativo Windows y los programas de Windows desde las primeras versiones de MS-DOS de la tecnología informática de Microsoft. Las sucesivas versiones de Windows han ilustrado ciertos problemas con el uso de archivos DLL para muchos programas diferentes.
Techinfo explica DLL Hell
Muchos de los problemas que llevan a los desarrolladores a utilizar el término "infierno de DLL" implican instancias en las que una alteración de un archivo DLL por parte de un programa afecta negativamente la función de otros programas que necesitan utilizar el mismo archivo DLL. Los problemas con los registros, la incompatibilidad y la actualización incorrecta de los archivos DLL son parte del desafío general de ordenar el uso de archivos DLL en muchas aplicaciones diferentes.
En las versiones más actuales de Windows, algunos de los problemas que contribuyen al infierno de las DLL se han abordado y resuelto hasta cierto punto. Los cambios incluyen un marco .NET, que usa metadatos para describir los componentes del programa. Este sistema ayuda con el control de versiones y la implementación para aliviar algunos de los problemas que surgen debido al uso de DLL en varios idiomas o situaciones en las que las aplicaciones tienen que compartir un archivo DLL. Un sistema de protección de archivos de Windows, introducido en Windows 2000, impide que algunos programas cambien los archivos DLL del sistema. Otras soluciones implican colocar el archivo DLL de una aplicación en una carpeta separada en lugar de almacenarlo en una ubicación compartida para que cada aplicación pueda tener su propia versión única del archivo DLL.