views:

93

answers:

1

If there's a dup of this, I'll be upvoting it but until someone finds it for me.... This is a Things I've Learned Today [that nobody seems to have blogged about] entry...

With TestDriven.NET, I was continually getting the following output from an Assembly.Load :

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].

So I loaded fuslogvw, and as I'm on an x64 system, even tried the x64 version of same, but couldnt get it to display the log, no matter how many times I retried. I verified the settings in the registry, and everything seemed as it should be - EnableLog was set, but still no joy on the re-run.

A: 

Turns out that the value of the setting gets cached within the process, and as TestDriven.net keeps a process (ProcessInvocation.exe) hanging around to provide a quick startup, it doesnt pick it up without one clicking on the tray icon (red pitchfork) and selecting Stop [to trigger a reload on the next run]. So now, I get:

Running under executable  C:\Program Files (x86)\TestDriven.NET 2.0\ProcessInvocation.exe
--- A detailed error log follows. 

=== Pre-bind state information ===

...

===
LOG: This bind starts in LoadFrom load context.
WRN: Native image will not be probed in LoadFrom context. Native image will only be probed in default load context, like with Assembly.Load().

Just as desired...

Ruben Bartelink