Ich habe in den letzten paar Monaten an einer mvc4-Webanwendung gearbeitet. Alles funktionierte gut bis Freitag, als ich ein Update-Paket in Nuget ausführte, um sicherzustellen, dass ich die neuesten Versionen meiner Bibliotheken hatte.Probleme mit einer MVC4-Anwendung, die versucht, auf eine neuere Version von System.Web.WebPages.Razor zu verweisen
Jetzt, wenn ich versuche, etwas in der Anwendung zu sehen es mir sagt, dass es den Fehler Could not load file or assembly 'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Ich habe meine web.config und meine packages.config geprüft und nirgendwo ich Referenzierung System.Web.WebPages.Razor, Version=3.0.0.0
ich habe einen dependentAssembly Block meine web.config mit Version 2.0.0.0
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
und sorgte dafür, fügte hinzu, dass die web.config in meinen Ansichten Verzeichnis gibt auch V2.0.0.0
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
Ich habe auch sichergestellt, dass die Version in meinen Referenzen 2.0.0.0 referenziert ist. Ich habe versucht, es zu entfernen und es zu lesen. Ich habe versucht sicherzustellen, dass auf dem Server die neueste Version des .NET Framework installiert ist.
Ich habe dies sowohl auf dem Server und lokal getestet und die gleiche Fehlermeldung erhalten.
Lokal sehe ich das im Fehlerprotokoll LOG: Post-policy reference: System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Aber ich kann keine Informationen darüber finden, was das verursacht.
Ich entwickle es in Visual Studio 2012 Premium.
Wer hat irgendwelche Ideen?
Eines Ihrer NuGet-Pakete verweist wahrscheinlich darauf. – SLaks
Sind Sie auf Framework 4.0 oder 4.5 ausgerichtet? Wenn Ihr Projekt 4.0 ist und das aktualisierte Paket 4.5 verwendet, haben Sie zwei Möglichkeiten: Reduzieren Sie Ihr nugget oder aktualisieren Sie Ihr Framework auf 4.5 –
. Ich habe auf den vorherigen Änderungssatz zurückgesetzt, und alles funktioniert wieder ordnungsgemäß. Aber ich habe Angst, meine Abhängigkeiten jetzt zu aktualisieren. – wmelon