开发者

Assembly loading problem

I have an assembly loading problem that's cropping up when I convert from Vista (32bit) to Windows 7 (32bit). It occurs when I try to load some very old Sybase ASE ADO.NET data provider DLLS.

The log from the fusion log viewer shows this:

    *** Assembly Binder Log Entry  (18/01/2010 @ 5:00:38 PM) ***

The operation failed.
Bind result: hr = 0x80131018. No description available.

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\NETWORK SERVICE
LOG: DisplayName = sybdrvado11
 (Partial)
LOG: Appbase = file:///C:/dev/AgentDesktop/ui/newweb/
LOG: Initial PrivatePath = C:\dev\AgentDesktop\ui\newweb\bin
LOG: Dynamic Base = C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\newweb\f57489cf
LOG: Cache Base = C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\newweb\f57489cf
LOG: AppName = d293c3e5
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\dev\AgentDesktop\ui\newweb\web.config
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/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/newweb/f57489cf/d293c3e5/sybdrvado11.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/newweb/f57489cf/d293c3e5/sybdrvado11/sybdrvado11.DLL.
LOG: Attempting download of new URL file:///C:/dev/AgentDesktop/ui/newweb/bin/sybdrvado11.DLL.
LOG: Assembly download was successful. Attempting setup of file: C:\dev\AgentDesktop\ui\newweb\bin\sybdrvado11.dll
LOG: Entering download cache setup phase.
ERR: Error extracting manifest import from file (hr = 0x80131018).
ERR: Setup fai开发者_StackOverflow中文版led with hr = 0x80131018.
ERR: Failed to complete setup of assembly (hr = 0x80131018). Probing terminated.

I've spent a fair bit of time googling this and the error message that manifests via ASP.NET, and none of the common solutions seems to be relevant. I did notice that there was a way to cause this error using virus checkers. Is it possible to do this on a virgin Windows 7 machine? i.e. is there any kind of protection system that can interfere with assembly loading?

This fails on both VS.NET 2008 and with VS.NET 2010 beta 2.

Any clues would be much appreciated.


To use Sybase ASE ADO.NET with sybdrvado11.dll you need another file: MSVCR71.dll Maybe it is missing in Windows\System32?


I resolve my issue, in GAC folder with explorer. I could see the system.runtime.serialization dll but when i used cmd prompt on this folder the dll exist on GAC_MSIL and not on GAC. So i have copied System.Runtime.Serialization folder from GAV_MSIL on GAC and after reboot VS my project compile perfectly.

To move dll easly i used the following commands in cmd.exe:

cd\windows\assembly
attrib -r -h -s desktop.ini
ren desktop.ini desktop.bak

Now I can open the GAC folder normally in your explorer, and you can see the actual structure.


The problem seems to occur while attempting to load C:\dev\AgentDesktop\ui\newweb\bin\sybdrvado11.dll.

This is an unmanaged DLL needed by the Sybase ADO.NET provider and normally should be installed somewhere on the PATH.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜