Sometimes it’s very useful analyze how an application binds to referenced assemblies but this process is fairly hidden from us. However, Microsoft has given us a way to look into this process via the fuslogvw tool. This tool is not overly documented so this post describes how to install it on a computer that has neither Visual Studio nor the Windows SDK installed, such as a server.
Follow these steps:
Copy the following files from a computer with Visual Studio or the Windows SDK installed:
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\FUSLOGVW.exe"
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\1033\flogvwrc.dll"
Put them into a folder on the target computer.
Create logging folder, e.g.
FUSLOGVW.exe. Update the following settings:
- Log all binds to disk
- Enable Custom log path
- Custom log path =
Finally, enable assembly binding logging in the registry by setting the
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion\ForceLog value to
Click Refresh in FUSLOGVW.exe and behold! A list of assembly binding events are displayed:
The individual events contain useful details:
2014-11-10 Update: Removed the mention of editing the registry. I added that a little too quickly, fuslogvw.exe is supposed to do that stuff for us…