Ich habe ein solches Problem auf dem Server
[A] System.Web.WebPages.Razor.Configuration.HostSection kann nicht in [B] System.Web.WebPages.Razor.Configuration.HostSection umgewandelt werden. Typ A stammt aus 'System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' im Kontext 'Default' am Speicherort 'C: \ Windows \ Microsoft.Net \ Assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '. Typ B stammt aus 'System.Web.WebPages.Razor, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' im Kontext 'Default' am Speicherort 'C: \ Windows \ Microsoft.Net \ Assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_1.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '.
Beschreibung: Während der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Bitte überprüfen Sie die Stapelverfolgung, um weitere Informationen über den Fehler und dessen Ursprung im Code zu erhalten.
Ausnahmedetails: System.InvalidCastException: [A] System.Web.WebPages.Razor.Configuration.HostSection kann nicht in [B] System.Web.WebPages.Razor.Configuration.HostSection umgewandelt werden. Typ A stammt aus 'System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' im Kontext 'Default' am Speicherort 'C: \ Windows \ Microsoft.Net \ Assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '. Typ B stammt aus 'System.Web.WebPages.Razor, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' im Kontext 'Default' am Speicherort 'C: \ Windows \ Microsoft.Net \ Assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_1.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '.
Quellfehler:
Ich habe MVC 3 auf dem Serer und auf meinem Computer installiert. Ich habe versucht, es durch eine 15 Tage alte Codebasis zu ersetzen, aber das gleiche Problem besteht.
jetzt möchte ich es lösen. Weiß jemand, wie ich das beheben kann?
quelle
Antworten:
Stellen Sie im Stammverzeichnis Web.config sicher, dass AssemblyBinding die richtige Version für die Assembly "System.Web.WebPages.Razor" und "System.Web.Mvc" enthält. Überprüfen Sie, ob sie tatsächlich vorhanden sind, und mein Assembly-Tag "System.Web.WebPages.Razor" fehlte, was den Fehler verursachte. Ich hatte meine Assembly-Versionen zum Zeitpunkt dieses Schreibens mit vollständigen NuGet-Updates auf 3.0 bzw. 5.0 eingestellt. Der Code sollte ungefähr so aussehen wie unten. Das publicKeyToken bleibt zwischen den Versionen gleich. Prost!
quelle
Mein Fall war ein Upgrade von mvc4 auf mvc5.
Ich habe sichergestellt, dass meine Referenzen synchron sind (mit einer neu erstellten mvc5-App), die Datei web.config entsprechend aktualisiert und es hat immer noch nicht funktioniert. Es hat endlich funktioniert, als ich meine web.config-Datei ( INSIDE THE VIEWS-Verzeichnis ) geändert habe von:
Dazu:
ERINNERN SIE SICH: Stoppen Sie iis (Express oder Native), bereinigen Sie die Lösung, erstellen Sie und führen Sie es aus.
quelle
Nur für den Fall, dass die Antwort von ian nicht ausreicht (und die Baugruppen korrekt sind, aber das Casting immer noch falsch ist), haben Sie die wahrscheinlich noch nicht aktualisiert
<configSections>
, um die neue Baugruppe wiederzugeben. Stellen Sie sicher, dass der Assembly-Teil auch auf Version 3.0 derSystem.Web.WebPages.Razor
Bibliothek verweist . z.B(Beachten Sie, dass sie alle
version=3.0.0
jetzt referenzieren )quelle
Ians Lösung hat in einem Projekt funktioniert, aber für andere benötige ich die umfassenderen Informationen unter Upgrade auf MVC 5 und Web API 2
quelle
Dieses Problem tritt sehr häufig auf, wenn Sie für MVC 4 entwickeln und dann plötzlich ein Paket installieren, das in einer neueren Version verfügbar ist, sodass die gesamte Anwendung beschädigt wird.
Die einzige Lösung für dieses Problem besteht darin, Ihre gesamte Anwendung auf eine neuere Version zu aktualisieren oder das alte Paket zu installieren, das mit Ihrer Anwendung kompatibel ist
quelle
Problem:
Identifizierung:
Der Fehler liegt in der Konfigurationsdatei dh web.config Ihres Projekts.
Hier finden Sie, dass die Razor-Version auf 2.0.0.0 eingestellt ist, wo wie in Ihrem Projekt die Version 2.0.0.0 nicht verfügbar ist.
Lösung:
Es ist einfach, ändern Sie einfach die Version von 2.0.0.0 auf 3.0.0.0 und es wird die Magie tun.
Sie müssen keine Umleitung vornehmen, da dies die Dinge kompliziert macht.
quelle
Ich habe ein Problem und eine Lösung gefunden.
1 Ich ziele auf meinen Code auf 4.0 und lade dann den Code hoch und es hat funktioniert. Davor aktualisiere ich auch meinen Code auf asp.net MVC 4.
jetzt ist es Arbeit :)
quelle
Öffnen Sie den Speicherort der beiden DLL-Dateien in Ihrem System. Kopieren Sie eine der DLLs in Ihrem Dateispeicherort in die andere
und versuchen Sie, das Projekt auszuführen.
quelle
Eine andere Möglichkeit, dies zu beheben, ohne Referenzen aktualisieren zu müssen, ist diese
quelle