it-swarm.com.de

Datei oder Assembly 'System.Web.WebPages.Razor, Version = 2.0.0.0 konnte nicht geladen werden

Ich habe gerade Pakete in einem MVC 3-Projekt (ASP.net 4) aktualisiert, und jetzt wird beim Zugriff auf eine Seite in diesem Projekt die folgende Fehlermeldung angezeigt:

Serverfehler in der Anwendung '/ MyApplication'.

Datei oder Assembly 'System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition der lokalisierten Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040) Beschreibung: Während der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Überprüfen Sie die Stapelablaufverfolgung, um weitere Informationen zu dem Fehler und dessen Ursprung im Code zu erhalten.

Ausnahmedetails: System.IO.FileLoadException: Datei oder Assembly 'System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition der lokalisierten Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040)

Quellfehler:

Während der Ausführung der aktuellen Webanforderung wurde eine nicht behandelte Ausnahme generiert. Informationen zu Ursprung und Speicherort der Ausnahme können mithilfe der folgenden Ablaufverfolgung des Ausnahmestapels identifiziert werden.

Assembly Load Trace: Die folgenden Informationen können hilfreich sein, um festzustellen, warum die Assembly 'System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' nicht geladen werden konnte.

=== Statusinformationen vor dem Binden === LOG: Benutzer = IIS APPPOOL\ASP.NET v4.0 LOG: Anzeigename = System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 (Vollständig angegeben) LOG: Appbase = file: /// C: /.../ LOG: Anfänglicher PrivatePath = C: ...\bin Aufruf der Assembly: Microsoft.Web.Helpers, Version = 2.0 .0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35. === LOG: Diese Bindung startet im Standardladekontext. LOG: Verwenden der Anwendungskonfigurationsdatei: C: ...\web.config LOG: Verwenden der Hostkonfigurationsdatei: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config LOG: Verwenden der Maschinenkonfigurationsdatei von C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config. LOG: Post-Policy-Referenz: System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 LOG: Versuch, eine neue URL-Datei herunterzuladen: /// C: /Windows/Microsoft.NET/Framework64 /v4.0.30319/Temporary ASP.NET Files /.../ cb62a7b2/327a0353/System.Web.WebPages.Razor.DLL. LOG: Es wird versucht, eine neue URL-Datei herunterzuladen: /// C: /Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files /.../ cb62a7b2/327a0353/System.Web.WebPages.Razor/System .Web.WebPages.Razor.DLL. LOG: Es wird versucht, eine neue URL-Datei herunterzuladen: /// C: /LeGroupeHtmSVN/.../UpDir.Web/bin/System.Web.WebPages.Razor.DLL. WRN: Das Vergleichen des Assemblynamens führte zu einer Nichtübereinstimmung: Hauptversion ERR: Das Setup der Assembly konnte nicht abgeschlossen werden (hr = 0x80131040). Prüfung abgebrochen.

Stack Trace:

[FileLoadException: Datei oder Assembly 'System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition der lokalisierten Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040)]
Microsoft.Web.Helpers.PreApplicationStartCode.Start () +0

[InvalidOperationException: Die Initialisierungsmethode Start vor dem Anwendungsstart vom Typ Microsoft.Web.Helpers.PreApplicationStartCode hat eine Ausnahme mit der folgenden Fehlermeldung ausgelöst: Datei oder Assembly konnte nicht geladen werden System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 'oder eine seiner Abhängigkeiten. Die Manifestdefinition der lokalisierten Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040)
System.Web.Compilation.BuildManager.InvokePreStartInitMethods (ICollection`1-Methoden) +11711966
System.Web.Compilation.BuildManager.CallPreStartInitMethods () +465
System.Web.Hosting.HostingEnvironment.Initialize (ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1167

[HttpException (0x80004005): Die Initialisierungsmethode für den Start vor der Anwendung Start vom Typ Microsoft.Web.Helpers.PreApplicationStartCode hat eine Ausnahme mit der folgenden Fehlermeldung ausgelöst: Datei oder Assembly 'System.Web.WebPages.Razor, Version = 2.0 konnte nicht geladen werden .0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 'oder eine seiner Abhängigkeiten. Die Manifestdefinition der lokalisierten Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040)
System.Web.HttpRuntime.FirstRequestInit (HttpContext-Kontext) +11700896 System.Web.HttpRuntime.EnsureFirstRequestInit (HttpContext-Kontext) +141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (I6)

-------------------------------------------------- ------------------------------ Versionsinformationen: Microsoft .NET Framework Version: 4.0.30319; ASP.NET Version: 4.0.30319.272

In meiner web.config-Datei und in meiner Anwendung verweise ich auf System.Web.WebPages.Razor v1.0.0.0:

  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" />
  </dependentAssembly>

Ich weiß nicht einmal, ob ich System.Web.WebPages.Razor v2.0.0.0 mit .Net 4 verwenden könnte.

Wie finde ich heraus, was auf System.Web.WebPages.Razor v2.0.0.0 verweist?

wie finde ich heraus, was auf System.Web.WebPages.Razor v2.0.0.0 verweist?

Lesen Sie einfach Ihre Ausnahme Stacktrace:

Calling Assembly : Microsoft.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

Es scheint also, dass Sie den Microsoft.Web.Helpers verwenden, der wiederum von System.Web.WebPages.Razor, Version=2.0.0.0 abhängt.

27
Darin Dimitrov

So einfach. In der Nuget Package Manager Console:

Update-Paket Microsoft.AspNet.Mvc -Reinstall

52
Mohamed Emad

Dieses Problem begann, als ich nicht verwendete Verweise entfernt hatte. Die Website funktionierte immer noch auf meinem lokalen Rechner, funktionierte jedoch nach der Veröffentlichung nicht auf dem Server.

Remove unused references

Ich habe dieses Problem behoben, indem ich Folgendes tat:

  1. Öffnen Sie 'Package Manager Console' in Visual Studio
  2. Deinstallationspaket Microsoft.AspNet.Mvc
  3. Installationspaket Microsoft.AspNet.Mvc
50
Diganta Kumar

In ASP.NET MVC 4 lautet der Namespace nicht System.Web.WebPages.Razor, sondern System.Web.Razor

Das hat für mich funktioniert, ändern Sie Ihre web.config.

7
Tomas Kubes

Nach vielem Schmerz, googeln und frisieren musste ich MVC 4 mit nuget deinstallieren, alle Verweise auf MVC, Rasierer und Infrastruktur aus der Web-Konfiguration löschen, die dlls aus dem Ordner bin löschen und dann alles neu installieren. Es dauerte weniger Zeit, als herauszufinden, warum die DLLs nicht übereinstimmten.

7
user1069733

Ich habe dieselbe Fehlermeldung erhalten, nachdem ich einen unnötigen Verweis auf System.Web.Mvc hinzugefügt hatte. Ich entfernte alle Referenzen, die ich finden konnte, aber nichts schien zu funktionieren. Ich löschte schließlich den bin-Ordner des Projekts und der Fehler wurde nach einer Neuerstellung behoben.

2
mpwhitt

Ich habe ASP.NET MVC 4 mit der Windows-Systemsteuerung deinstalliert und dann durch Ausführen von AspNetMVC4Setup.exe (das ich von https://www.Microsoft.com/en-us/download/details.aspx?id=30683) erhalten habe, erneut installiert ), und das Problem wurde für mich behoben.

Mit anderen Worten, ich brauchte weder Nuget noch Visual Studio.

1
twasbrillig

Ich habe auch diesen Fehler erhalten und alles ausprobiert, was ich online finden konnte. Am Ende habe ich MVC gerade von 5.2.3 auf 4.0.40804 heruntergestuft. Ich mag diese Lösung nicht, weil ich irgendwann MVC 5 verwenden muss, aber jetzt funktioniert es. Hoffe das hilft anderen. 

1
David Frodin

Kurz:
Wenn Sie dieses Problem mit einem reinen Web-API-Projekt haben (und daher keinen Rasierer benötigen), versuchen Sie es trotzdem hinzuzufügen, neu zu erstellen und es dann zu entfernen.

Lange Geschichte:
Ich hatte dieses Problem mit einem brandneuen reinen Web-API-Projekt, mit der Ausnahme, dass der Stacktrace "System.Web.Mvc" als aufrufende Assembly bezeichnet hat (siehe Darins Antwort) das in meinem Projekt aber ...
Ich habe mich entschlossen, die MVC-Pakete (AspNet.Mvc, AspNet.WebPages und AspNet.Razor) hinzuzufügen, um zu prüfen, ob es ein nachfolgendes Problem gibt.
Die WebApi-App wurde dann einwandfrei gestartet. Dann habe ich die exakt gleichen Pakete entfernt und alles war noch in Ordnung.

Ich hoffe es hilft jemandem.

1
Mik

Wenn ein früheres Projekt plötzlich mit dem genannten Fehler abstürzt, können Sie folgende Lösung versuchen.

  • Löschen Sie den bin-Ordner des jeweiligen Web-/Service-Projekts.
  • Bauen

Das hat bei mir funktioniert.

0
SOS

Bei ähnlichen Assembly-Bindungsfehlern können die folgenden Schritte hilfreich sein:

  1. Klicken Sie mit der rechten Maustaste auf Ihre Lösung und klicken Sie auf Nuget-Pakete für Lösung verwalten ...
  2. gehen Sie zur Registerkarte "Konsolidieren" (letzte Registerkarte) und prüfen Sie, ob Unterschiede zwischen Paketen bestehen, die in verschiedenen Projekten Ihrer Lösung installiert sind. Achten Sie besonders auf Ihre referenzierten Projekte, die möglicherweise niedrigere Versionen haben, da sie normalerweise weniger beachtet werden.)
  3. Konsolidieren Speziell Pakete, die mit Ihrem Assembly-Fehler zusammenhängen, und beachten Sie, dass viele Pakete von einigen anderen Paketen abhängig sind, wie * .code & * .api & ...
  4. nachdem Sie alle vermuteten Konsolidierungen behoben haben, erstellen Sie die App neu, führen Sie sie erneut aus und prüfen Sie, ob die Assemblybindungen behoben sind.
0
Iman Abidi

Ich habe zuerst versucht, Mohammed Emads Antwort - keine Freude. Dann habe ich es versucht

git clean -x -d -f

das brachte mich zu einem neuen "Roslyn" Fehler, den ich durch manuelles Bearbeiten meiner .csproj beheben konnte.

Interessanterweise fand ich, nachdem ich die Seite über die Roslyn-Frage etwas weiter unten gelesen hatte, einen weiteren Vorschlag mit noch mehr Stimmen (Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r). Ich dachte, ich würde das lieber implementieren, als .csproj manuell zu bearbeiten, und habe meine .csproj-Änderungen zurückgesetzt, nur um festzustellen, dass meine Lösung noch funktionierte.

Nach all dem frage ich mich, ob Mohammeds Antwort (auf dieser Seite) den Trick vollbracht hätte, hätte ich einfach den Git zuerst sauber gemacht.

0
OutstandingBill

In einigen Fällen installieren Sie einfach die Webseite 2, um das Problem zu beheben (in meinem Fall gelöst - auf der lokalen Webseite mit Web-API)

https://www.Microsoft.com/de-de/download/details.aspx?id=34600

0
KhaNguyen

Ich habe den gleichen Fehler erhalten, als ich MVC4 auf MVC5-Version aufgerüstet habe. Zuerst habe ich die aufrufende Assembly aufgerüstet, von der es abhängt

> System.Web.WebPages.Razor, Version=2.0.0.0

danach wurden die web.config-Dateien im Ordner "Views" aktualisiert. Die folgenden Pakete wurden von aktualisiert

<configSections>
    <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>
</configSections>

zu

<configSections>
    <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=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
 </configSections>

und auch aktualisiert

<Host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

zu

<Host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

diese Schritte funktionieren für mich

0
Zia Qammar