Lawrence Avery
asked on
How CLR Searches for dlls
Could someone tell if this article http://www.thescarms.com/dotNet/assembly.aspx is correct on how CLR searches for it's dlls?
If James Burger is reading this, please tell me in reference to question entitled : Reference DLLs in your .NET Application you answered differently. James you indicated the GAC was searched last.
See Article ---- http://www.thescarms.com/dotNet/assembly.aspx
Section:
Quick Fix Engineering
If a referenced assembly has a strong name the load process is as follows:
• Assembly configuration files (discussed later) are examined to see what version of a referenced assembly to load.
• The CLR checks if the assembly was loaded in a previous call. If so, it is used.
• If the assembly isn't loaded the GAC is queried for a match and if found that's what's loaded.
• If a configuration file has a codebase entry for the assembly the file specified by this entry is used.
• If none of the above exist, the CLR looks for the referenced assembly starting in the application folder.
• If still not found, the CLR asks the Windows Installer service if it has the assembly. If so, the assembly is installed and this is the assembly used. This is call install on demand.
• If the assembly still cannot be found, an error is raised
If James Burger is reading this, please tell me in reference to question entitled : Reference DLLs in your .NET Application you answered differently. James you indicated the GAC was searched last.
See Article ---- http://www.thescarms.com/dotNet/assembly.aspx
Section:
Quick Fix Engineering
If a referenced assembly has a strong name the load process is as follows:
• Assembly configuration files (discussed later) are examined to see what version of a referenced assembly to load.
• The CLR checks if the assembly was loaded in a previous call. If so, it is used.
• If the assembly isn't loaded the GAC is queried for a match and if found that's what's loaded.
• If a configuration file has a codebase entry for the assembly the file specified by this entry is used.
• If none of the above exist, the CLR looks for the referenced assembly starting in the application folder.
• If still not found, the CLR asks the Windows Installer service if it has the assembly. If so, the assembly is installed and this is the assembly used. This is call install on demand.
• If the assembly still cannot be found, an error is raised
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.