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.
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.
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.
Es ist das übliche Problem, ein 32/64 Bit Mismatch irgendwo –
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
Eine der Abhängigkeiten ist 64 Bit oder beschädigt. Vielleicht eine Laufzeitdatei. Was hast du kürzlich geändert? –