What is Fusion in .NET Assembly

偶尔善良 提交于 2019-12-17 22:46:33

问题


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?


回答1:


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.




回答2:


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



来源:https://stackoverflow.com/questions/9961162/what-is-fusion-in-net-assembly

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!