Our asp.net web servers are giving occasional binding problems which result in a page not being displayed to the end user. Pressing refresh usually works.
If you look in the event log you get the following entry:
Exception information:
Exception type: FileLoadException
Exception message: A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)
Our assembly does have a strong name, however given that this works 99.9% of the time I don't see this as the problem. I have turned on fusion binding logging and when the error occurs we get a binding log file.
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.
Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Running under executable C:\Windows\SysWOW64\inetsrv\w3wp.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = WEBFUND\WF6User
LOG: Where-ref bind. Location = C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\clients\6c02a9d4\233e1482\App_Web_emailpdf.aspx.afcecd13.5bzg9b2a.dll
LOG: Appbase = file:///D:/FinancialExpress/ClientsV21/
LOG: Initial PrivatePath = D:\FinancialExpress\ClientsV21\bin
LOG: Dynamic Base = C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\clients\6c02a9d4
LOG: Cache Base = C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\clients\6c02a9d4
LOG: AppName = 233e1482
Calling assembly : (Unknown).
===
WRN: Native image will not be probed in LoadFrom context. Native image will only be probed in default load context, like with Assembly.Load().
LOG: Start binding of native image App_Web_emailpdf.aspx.afcecd13.5bzg9b2a, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
LOG: IL assembly loaded from C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\clients\6c02a9d4\233e1482\App_Web_emailpdf.aspx.afcecd13.5bzg9b2a.dll.
WRN: No matching native image found.
LOG: Bind to native image assembly did not succeed. Use IL image.
I have copied depends.exe on the server and run that. It gives two files not found: GPSVC.DLL and IESHIMS.DLL. But can that be the problem? Given that most pages are displayed correctly shouldn't it always not work if these files are missing?