A couple of days ago while playing with an ASP.NET project, I encountered an assembly load error.  The exact error was,

Could not load file or assembly 'App_Web_msnjmvbf, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

For those of you new to ASP.NET 2.0, the App_Web_msnjmvbf assembly is auto-generated by ASP.NET to contain the compiled UI for your web pages.  For some reason, my virtual directory in IIS got off-sync from the code and things went wrong.  All I had to do was clear the files under the C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files folder.  Find the name of your virtual directory and delete it (Make sure that IIS is not running first!!).

Once this is done you shouldn’t receive the error anymore (I wish there was a better to fix this, sorry!).


And now the reason for this post...The cool thing about this problem is that ASP.NET tells your how to turn on assembly binding logging! It's the same configuration I speak about here. This is how ASP.NET explains this setting,

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]

This is pretty cool!