Fusion is Microsoft’s name for the technology that resolves and loads assemblies requested by your application. It turns out that the .NET framework comes with a little application that allows you to see what caused each assembly in your application to get loaded, how it was loaded (context) and where the loader looked for it before actually loading it.
I’m not going into great detail here because Suzanne Cook already covered this in great depth. But I thought it worth talking about as lots of people don’t seem to know this exists and if their load error is complex or obscure then it leaves them a bit stumped. I’ve found this especially useful for figuring out why a Visual Studio package crashes on startup for example.
So FUSLOGVW.EXE is your friend. Not your best friend more like that weird friend you knew at college who didn’t smell quite right and is prone to long periods of silence interspersed with equally long rants. But… he was the guy that helped you finish an assignment at 3am – largely just to prove how smart he was. By that I mean FUSLOGVW requires some effort to use and can be too verbose or too terse in it’s output. But don’t give up, it will help you dig out of a deep hole and go home on time!
Currently listening to:
Benjamin Zephaniah – Naked