1

I'm trying to debug an error of the form

Could not load file or assembly '[assembly], Version=[version], Culture=[culture], PublicKeyToken=[publicKeyToken]' or one of its dependencies.

The error page tells me that assembly binding logging, which could help me debug my problem, is turned off:

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

I navigated to HKLM\Software\Microsoft\Fusion in the registry, created a DWORD value called EnableLog, and set it to 1. I refreshed the web page, but I still got the same warning that Assembly binding logging was turned off. I rebooted the server, but assembly binding logging still wasn't turned on.

Then I tried setting some additional registry settings from this question. Still no assembly binding logging.

This is all on an Azure web role virtual machine by the way. Fuslogvw is not installed. In order to get it, I would have to install the Windows SDK on all of my web roles. And I don't want to use fuslogvw anyway; I just want assembly binding logs.

What else do I need to do to turn on assembly binding logging?

Edit: I installed the Windows SDK on both web roles, but it looks like fuslogvw is still not there. At least, I get a "command not found" error trying to run fuslogvw from the admin command prompt, and fuslogvw.exe is not in the location indicated by this question (which I realize is referring to a fuslogvw.exe installed through Visual Studio, and part of an older version of the Windows SDK than what I installed).

Edit: I installed an older Windows SDK, and then found fuslogvw.exe (I'll bet it actually came with the first SDK I installed, and I was just a fool and couldn't find it). I found it in D:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools.

Now I can debug the error I'm getting.

However, the original question is still open: what could I be missing trying to turn on assembly binding logging through registry settings?

(The reason I want to be able to use registry settings instead of fuslogvw from the Windows SDK is that I can configure my web roles to set registry settings automatically, but to use the Windows SDK I would have to manually log in to my web roles and run the graphical installer. It's not that much work to install the SDK, but it's the principle of the thing. The registry settings should work, and automation is better than manual tasks.)

Community
  • 1
  • 1
jcarpenter2
  • 4,655
  • 3
  • 18
  • 44
  • 1
    Have you tried a basic file search for the fuslogvw.exe? It could have have been installed under the "Program Files (x86)" directory. – Scampbell Sep 11 '13 at 16:08
  • I just did a file search, and I found it. I'm not sure if I just didn't see it, or if it came with the older Windows SDK I installed. Now I can debug my problem anyway. – jcarpenter2 Sep 11 '13 at 16:20

0 Answers0