Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is Fusion in .NET Assembly

In Suzanne Cook's blog there is such a description:

LoadFrom Context: In general, if the user provided Fusion a path which was used to find the assembly (and the assembly at that path wouldn't have been found in the Load context), then it's in the LoadFrom context. There are various methods to load by path: LoadFrom(), CreateInstanceFrom(), ExecuteAssembly(), loading an assembly through interop using a codebase, etc.

And also I found an MSDN article about it but I am not really sure whether the Fusion Suzanne talks about is same as here: http://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.71).aspx but it seems a Log viewer so what I understood what Suzanne says is

Fusion is a probing mechanism which takes path, etc and it probes assemblies in Application Base, codeBase, GAC, etc. to load them into the context.

Some one can clarify this please?

like image 821
Tarik Avatar asked Apr 01 '12 01:04

Tarik


2 Answers

Fusion is the code name for the assembly loader in .NET. If memory serves, Suzanne was on the Fusion team and wrote much of the Assembly binding log viewer. You can see the hint of the codename in this program, as it's called fuslogvw.exe

It is fusion's job to seek out assemblies and load them into the current app domain so that a program can execute. The Assembly binding log viewer shows where it looks to find assemblies, and any issues that may arrise in loading them. Great for debugging.

like image 52
Matt Greer Avatar answered Nov 07 '22 21:11

Matt Greer


Yes. Fusion is the name for the 'subsystem' in .Net that provides the lookup mechanism for assembly resolution/loading.

like image 28
James Webster Avatar answered Nov 07 '22 22:11

James Webster