Both methods are used to load the assemblies. we can then extract all the metatdata of the assembly using Reflection but there are some differences between both of them:
Assembly.LoadFrom() |
Assembly.LoadFile() |
· LoadFrom() can use either the name or the path of the assembly, It uses a probing algorithm to find the assembly if, you have two assemblies that have the same identity but different locations, you can get some unexpected behavior. |
· LoadFile() will expect the path of the assembly by using LoadFile(), you can load the desired assembly as needed.
|
· LoadFrom() goes through Fusion and can be redirected to another assembly at a different path but with that same identity if one is already loaded in the LoadFrom context.
|
· LoadFile() doesn't bind through Fusion at all - the loader just goes ahead and loads exactly what the caller requested. It doesn't use either the Load or the LoadFrom context.
|