Creating or finding an alternative for fuslogvw.exe, aka Fusion Assembly Binding Log Viewer

The Assembly Binding Log Viewer is rather buggy (for instance, more often than not it won't empty the log) and rather short on features (searching, ordering, filtering are all but available).

So I was wondering whether either

  • An existing alternative exists
  • Hooking the assemblyresolve events globally is somehow possible, so I can do this myself
  • Microsoft has published the source somewhere and we're allowed to fork it

Short of the second option, I know you can create a CLR Host implementation relatively simply (albeit non-trivially), but it seems overkill if all you need is a bit more finegrained control than the existing Fusion log viewer.

Note, I've seen this answer, but that doesn't seem to answer this question.


In answer to some of the comments:

I am aware of assembly redirecting, the AssemblyResolve and the AssemblyLoad events, but the first can only be used as a last resort (last in the probing chain) and the second will only fire after an assembly is loaded. Neither can be used on other processes than your own and neither can show the whole probing process.

I have noticed that using RyuJIT some bindings appear slightly different, in a different order as a result of a different way of compiling and loading the compiled IL. While I have been able to research and resolve the binding issues, I have come to very much dislike fuslogvw.exe as a time consuming (though one of a kind and helpful) tool. Hence I started a (rather fruitless) search for a better tool to monitor the probing process.


Solution 1:

Might be late to the party but maybe some of you might be interested in a modern alternative to FUSLOGVW.exe I put on GitHub lately: Fusion++

Fusion++

It's super easy to use: Just click "Record" to capture assembly logs. If you are done, click "Stop" again and Fusion++ will parse all the log files for you.

Under the hood, it uses the same mechanisms as the good ol' FUSLOGVW.exe.