Hi,
I am migrating an classic asp site from Windows 2003 IIS 6 .net framework 1.1 to Windows 2008 32 bit IIS7 .net framework 2.0. I'm facing some strange issue in assembly loading.
There are set of Com callable wrapper dlls written in C# 1.1 and these dlls use a dll registered in GAC (IConfigSectionHandler implementation).
Com callable wrapper fails to load this gac dll and fusion logs says;
*** Assembly Binder Log Entry (3/30/2015 @ 6:22:28 AM) *** 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\system32\inetsrv\w3wp.exe --- A detailed error log follows. === Pre-bind state information === LOG: User = NT AUTHORITY\IUSR LOG: DisplayName = Enterprise.Configuration (Partial) LOG: Appbase = file:///c:/windows/system32/inetsrv/ LOG: Initial PrivatePath = NULL LOG: Dynamic Base = NULL LOG: Cache Base = NULL LOG: AppName = w3wp.exe Calling assembly : (Unknown). === LOG: This bind starts in default load context. LOG: No application configuration file found. LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v2.0.50727\Aspnet.config LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). LOG: Attempting download of new URL file:///c:/windows/system32/inetsrv/Enterprise.Configuration.DLL. LOG: Attempting download of new URL file:///c:/windows/system32/inetsrv/Enterprise.Configuration/Enterprise.Configuration.DLL. LOG: Attempting download of new URL file:///c:/windows/system32/inetsrv/Enterprise.Configuration.EXE. LOG: Attempting download of new URL file:///c:/windows/system32/inetsrv/Enterprise.Configuration/Enterprise.Configuration.EXE. LOG: All probing URLs attempted and failed.
If I put this dll to c:/windows/system32/inetsrv it loads in the second attempt.(If I refresh the sites on first failure)
And the Com callable wrappers also load in the second attempt and it also searches the Com callable wrappers in same manner and fails to load at first time.
Why CLR searches Com callable wrappers in c:/windows/system32/inetsrv and why GAC registered dll also searches in the same place.
Any idea