Page 17 - Open Soource Technologies 304.indd
P. 17

Modern Programming Tools & Techniques-III



                      Notes              The public key for any strong name assigned to the assembly (not required in all assemblies)

                                         A list of files in the assembly with hash information
                                         Information on exported types

                                         Information on referenced assemblies
                                    In addition, you can add other information to the manifest by using assembly attributes. Assembly
                                    attributes are declared inside of a file in an assembly, and are text strings that describe the
                                    assembly. For example, you can set a friendly name for an assembly with the AssemblyTitle
                                    attribute:
                                    <Assembly: AssemblyTitle(“Test Project”)>
                                                              Figure 1.3: Assembly Manifest
























                                    Source: http://msdn.microsoft.com/en-IN/library/ms973843.aspx
                                    1.3.8 An End to DLL Hell

                                    DLL hell is a common term for various problems associated with the use of dynamic link
                                    libraries (DLLs) or DLL files. A DLL file is a resource within the Windows operating system that
                                    contains code and data related to the functionality of one or more applications. These files,
                                    which may have the file extension .dll or other file extensions, have been a major building block
                                    for the Windows operating system and Windows programs since the early MS-DOS versions of
                                    Microsoft’s computer technology. Successive versions of Windows have illustrated certain
                                    problems with the use of DLL files for many different programs. From a customer perspective,
                                    the most common versioning problem is what we call DLL Hell. Simply stated, 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 fine, 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. For example, consider the scenario where a user downloads a Microsoft ActiveX
                                    control as a side effect of visiting some Websites. When the control is downloaded it will replace
                                    any existing versions of the control that were present on the machine. If an application that has
                                    been installed on the machine happens to use this control, it too might potentially stop working.
                                    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



            10                               LOVELY PROFESSIONAL UNIVERSITY
   12   13   14   15   16   17   18   19   20   21   22