1

Ich stehe vor diesem Problem. Ich habe nach allen möglichen Lösungen dafür gesucht, aber vergebens, endlich beschlossen, hier zu fragen.Die Datei 'System.Data.dll' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. ist keine gültige Win32-Anwendung. (Ausnahme von HRESULT: 0x800700C1)

Die Webanwendung ist eine .Net 4.0, die mit IIS in einem Staging-Server bereitgestellt wird. Sie wurde bis vor kurzem ordnungsgemäß ausgeführt. Es läuft gut in Produktion und Entwicklung Server.

enter image description here

die Web-App-Plattform 'Jede CPU' ist, baut in x64-Maschine, in x64 Maschine bereitgestellt. Aber alle Referenz-Assemblies verwenden 32 Bit und die Anwendungs-DLL wird zu 32 Bit kompiliert. Wir setzen die '32-Bit-Anwendungen aktivieren' im IIS-App-Pool.

Jetzt habe ich die Anwendung und alle ihre Assemblys auf x86-Plattform neu kompiliert und auf dem Staging-Server bereitgestellt. Aber derselbe Fehler erscheint erneut.

Ich habe Fusion verwendet, um zu protokollieren, ob die System.data.dll wie unten korrekt geladen werden konnte.

enter image description here

Ich denke, es ist etwas, mit dem Server zu tun, wie die Website in Produktion fein läuft. In letzter Zeit gab es auch Sicherheitsupdates im Staging-Server.

+1

Es ist das übliche Problem, ein 32/64 Bit Mismatch irgendwo –

+0

Aber wie kann ich finden, wo es nicht stimmt? Tatsächlich haben alle Webanwendungen, die unter 32-Bit laufen, den gleichen Fehler auf unserem Staging-Server. – Ling

+0

Eine der Abhängigkeiten ist 64 Bit oder beschädigt. Vielleicht eine Laufzeitdatei. Was hast du kürzlich geändert? –

Antwort

0

Dafür müssen wir die GAC-Datei im folgenden Pfad überprüfen. 1.c: //windows/microsoft.net/assembly/GAC32--> Ersetzen Sie die neue 32bit system.dll 2.c: //windows/microsoft.net/assembly/GAC64--> Ersetzen Sie das neue 64-Bit-System .dll

Gerade jetzt habe ich das Problem dadurch gelöst.

+0

Danke für die Antwort. Werde das versuchen und sehen – Ling

Verwandte Themen