MVC-Anwendungen brechen nach dem Windows-Update vom 15. Oktober ab

9

Heute Morgen bin ich aufgewacht und habe festgestellt, dass meine MVC 4-Webanwendung auf meinem Server defekt ist.

Die Fehlermeldung lautet:

%Vor%

Ich habe mein VS-Projekt geöffnet und es vom Code aus ausgeführt (also auf einem anderen Computer), der gleiche Fehler ist aufgetreten!

Ich habe mein Serverprotokoll überprüft und festgestellt, dass die Updates um 5:06 Uhr automatisch installiert wurden. Eines der Updates wurde von einem Installationspaket AspNetMVC4.msi durchgeführt. Eine Minute später begannen die ersten Fehler in meiner Webanwendung zu strömen.

Auf meinem Entwicklungs-Laptop war derselbe Installer gestern (15. Oktober) um 1:10:10 Uhr gelaufen.

Gleiches Problem auf beiden Computern.

Ich hatte noch nie von Newtonsoft.Json gehört (aber jetzt habe ich herausgefunden, was es ist). Es sieht so aus, als ob eine der MVC dlls (unwahrscheinlich) oder eine der Paketdlls (wahrscheinlicher) einen Verweis auf Newtonsoft hat.

Ich habe versucht, Newtonsoft von niget zu integrieren. Dies hatte einige Auswirkungen, der Fehler von FileNotFound in eine FileLoadException geändert:

%Vor%

Ich habe auch versucht, von .NET 4.5 auf 4.5.1 zu aktualisieren. Das hat nicht geholfen.

Übrigens tritt der Fehler in RegisterRoutes in Global.asax.cs auf:

%Vor%

Irgendwelche Ideen?

    
Jan DeCoder 16.10.2014, 07:56
quelle

2 Antworten

1

Vielen Dank für Ihre guten Gedanken! Ich hatte versucht, die Assembly-Redirect zu tun, aber es hat nicht funktioniert.

Ich habe das Problem schließlich sehr einfach behoben. Plötzlich wurde mir klar, dass ich die Route nie benutzt habe:

%Vor%

Also habe ich diese Zeilen gelöscht und presto, alles funktioniert wieder!

Einige Untersuchungen haben gezeigt, dass MapHttpRoute Teil der älteren Version von System.Web.Mvc.dll ist, aber nicht von der neueren Version. Die neue DLL ist also nicht mit der älteren Version kompatibel.

Es stört mich immer noch, dass eine laufende, produktive Webanwendung bricht, während ich mit einem Windows-Update schlafe. Das Ausschalten von Windows-Updates könnte eine Lösung sein, macht den Server jedoch anfälliger ... Was ist Weisheit hier?

Nochmals vielen Dank.

    
Jan DeCoder 17.10.2014 10:01
quelle
0

Sie müssen Newtonsoft.Json 5.0.1 nupkg installieren. Übrigens, welche Dateiversion von System.Web.Http.dll verwenden Sie in Ihrem Projekt?

    
mattfei 16.10.2014 20:19
quelle