24

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?

Tarik
  • 79,711
  • 83
  • 236
  • 349
  • 1
    MSDN is lacking better documentation some of the time even though they provide one of the best documentation in the World. – Tarik Apr 02 '12 at 00:40
  • 1
    Docs now at: https://learn.microsoft.com/en-us/dotnet/framework/tools/fuslogvw-exe-assembly-binding-log-viewer – Drew Noakes Nov 06 '18 at 14:47

2 Answers2

24

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.

Matt Greer
  • 60,826
  • 17
  • 123
  • 123
  • 1
    Hanselman has a nice little summary of using Fusion. http://www.hanselman.com/blog/BackToBasicsUsingFusionLogViewerToDebugObscureLoaderErrors.aspx – EBarr Jan 20 '14 at 21:00
  • Thanks! Have you seen supporting Fusion documentation? Not how to enable or view the logs. That's well covered. – ScottWelker Sep 14 '18 at 23:10
5

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

James Webster
  • 4,046
  • 29
  • 41