.netassemblies.net-assemblydynamic-assembliesexternal-assemblies

Where .NET Assembly loaded from CodeBase goes?


I am loading a dll from an external place using < codebase > element in the application configuration. I want to know where the assembly gets instantiated?

I made < codebase > to point to my local drive (outside of appbase) and also a network shared drive and ran the fuslogvw and process monitor to see what's going on. But I wasn't able to tell what's truely happening under the hood.

Link below explains as it goes to an application cache specific to the user. http://msdn.microsoft.com/en-us/magazine/cc164080.aspx

Link below explains as it goes to a special GAC cache. http://www.developer.am/c-net-platform/?page=understanding-the-codebase-element

Overall, I understand it as it should be loaded into some cache location but I was not able to confirm it. Please help. I like to know the exact location where the ddl is gets loaded and stored.

Thank you


Solution

  • The CLR will automatically download the file and store it in the user's download cache
    A sub directory under
    [WinRoot]\Documents and Settings\UserName\Local Settings\Application Data\Assembly.
    When referenced in the future, the CLR will load the assembly from this directory rather than access the URL.