2 Stimmen

Problem beim Laden der Baugruppe

Ich habe ein Problem beim Laden von Baugruppen, das auftritt, wenn ich von Vista (32bit) auf Windows 7 (32bit) konvertiere. Es tritt auf, wenn ich versuche, einige sehr alte Sybase ASE ADO.NET Datenanbieter DLLS zu laden.

Das Protokoll des Fusion Log Viewers zeigt dies:

    *** 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 failed with hr = 0x80131018.
ERR: Failed to complete setup of assembly (hr = 0x80131018). Probing terminated.

Ich habe ziemlich viel Zeit damit verbracht, dies und die Fehlermeldung, die über ASP.NET manifestiert, zu googeln, und keine der gemeinsamen Lösungen scheint relevant zu sein. Ich habe festgestellt, dass es eine Möglichkeit gibt, diesen Fehler mit Hilfe von Virenprüfern zu verursachen. Ist es möglich, dies auf einem jungfräulichen Windows 7-Rechner zu tun, d. h. gibt es irgendeine Art von Schutzsystem, das das Laden von Baugruppen beeinträchtigen kann?

Dies schlägt sowohl mit VS.NET 2008 als auch mit VS.NET 2010 beta 2 fehl.

Für Hinweise wären wir sehr dankbar.

0 Stimmen

Haben Sie das Problem behoben? Könnten Sie Ihre Lösung mitteilen, falls vorhanden? Ich stehe vor dem gleichen Fehler: eine native all gefunden wurde, aber mit Fehler 80131018 wegen des Manifests fehlgeschlagen.

0 Stimmen

Sie wissen, dass ich diese Frage schon vor 11 Jahren gestellt habe, oder? Ich nehme an, dass ich sie gelöst habe, aber ich habe keine Ahnung, was die endgültige Lösung jetzt war

2voto

Cypizek Punkte 21

So verwenden Sie Sybase ASE ADO.NET mit sybdrvado11.dll benötigen Sie eine weitere Datei: MSVCR71.dll Vielleicht fehlt sie in Windows\System32 ?

2voto

Ich habe mein Problem im GAC-Ordner mit dem Explorer gelöst. Ich konnte sehen, die system.runtime.serialization dll, aber wenn ich cmd prompt auf diesen die dll existiert in GAC_MSIL und nicht in GAC. Ich habe also kopiert System.Runtime.Serialization Ordner von GAV_MSIL auf GAC und nach Neustart von VS kompiliert mein Projekt perfekt.

Um die DLL einfach zu verschieben, habe ich die folgenden Befehle in cmd.exe :

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

Jetzt kann ich den GAC-Ordner ganz normal in Ihrem Explorer öffnen, und Sie können die tatsächliche Struktur sehen.

0voto

Joe Punkte 117971

Das Problem scheint beim Versuch aufzutreten, die C:\dev\AgentDesktop\ui\newweb\bin\sybdrvado11.dll .

Dies ist eine nicht verwaltete DLL, die vom Sybase ADO.NET-Anbieter benötigt wird und normalerweise irgendwo im PATH installiert sein sollte.

0 Stimmen

Beachten Sie, dass der Assembly-Loader die Baugruppe OK gefunden hat (habe ich erwähnt, dass die Baugruppe + DLL unter Vista gut funktioniert), aber ein Problem mit dem Manifest der Baugruppe hat: "Fehler beim Extrahieren des Manifestimports aus der Datei". Es ist dieser Teil, der mich verwirrt hat.

0 Stimmen

Es könnte sich lohnen, das Fusionsprotokoll des Vista-Rechners, auf dem der Ladevorgang abläuft, einzusehen bzw. zu veröffentlichen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X