Heim > Backend-Entwicklung > C++ > Wie behebe ich den Fehler „System.Web.WebPages.Razor.Configuration.HostSection kann nicht umgewandelt werden' während des Upgrades von ASP.NET MVC 4 auf 5?

Wie behebe ich den Fehler „System.Web.WebPages.Razor.Configuration.HostSection kann nicht umgewandelt werden' während des Upgrades von ASP.NET MVC 4 auf 5?

Linda Hamilton
Freigeben: 2025-01-04 02:10:38
Original
413 Leute haben es durchsucht

How to Resolve the

Fehler beim Upgrade von ASP.NET MVC von 4 auf 5

Beim Upgrade von ASP.NET MVC-Projekten von Version 4 auf 5, a Es könnte ein verwirrender Fehler auftauchen. Dieser Fehler tritt auf, wenn das aktualisierte Projekt auf eine inkompatible Version der System.Web.WebPages.Razor.dll-Assembly verweist.

Fehlerbeschreibung

Die Fehlermeldung enthält normalerweise Folgendes Folgende Informationen:

System.Web.WebPages.Razor.Configuration.HostSection cannot be cast to System.Web.WebPages.Razor.Configuration.HostSection
Nach dem Login kopieren

Der Fehler entsteht durch eine Typinkongruenz zwischen zwei Versionen von Assembly:

  • Version 1.0.0.0 im GAC
  • Version 3.0.0.0, die erwartete Version für MVC 5

Schritte zur Fehlerbehebung

Um diesen Fehler zu beheben, ist eine manuelle Überprüfung unbedingt erforderlich die Projektdateien (.csproj) und aktualisieren Sie die Assemblyverweise entsprechend.

  1. Projektdatei entladen und bearbeiten:Entladen Sie das Projekt im Projektmappen-Explorer und bearbeiten Sie seine .csproj-Datei manuell.
  2. Nach Assembly-Referenzen suchen: Durchsuchen Sie die Datei nach Referenzen auf „System.Web.WebPages.Razor“ und überprüfen Sie, ob die Versionsnummer und der HintPath korrekt sind.
  3. Referenzen aktualisieren: Aktualisieren Sie die Versionsnummer auf 3.0.0.0 und stellen Sie sicher, dass der HintPath auf eine verweist vorhandene Datei.
  4. Wiederholen Sie den Vorgang für abhängige Projekte: Wiederholen Sie diese Schritte für alle abhängige Projekte in der Lösung und alle, die auf externe DLLs verweisen.

Beispiel:

Alte Referenz:

<Reference Include="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
    <Private>True</Private>        
    <HintPath>..\packages\Microsoft.AspNet.WebPages.1.0.20105.408\lib\net40\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
Nach dem Login kopieren

Aktualisiert Referenz:

<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\Microsoft.AspNet.WebPages.3.0.0\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
Nach dem Login kopieren

Zusätzliche Überlegungen:

  • Überprüfen Sie die Dateien web.config und web.config, um sicherzustellen, dass sie nicht auf alte Versionen von verweisen die Assembly.
  • Schließen Sie Bibliotheken von Drittanbietern aus, die möglicherweise auf die alte Version der verweisen DLL.
  • Siehe die bereitgestellte [Frage](https://stackoverflow.com/questions/18976083/system-web-webpages-razor-configuration-hostsection-cannot-be-cast-to-system- web-) für weitere Einblicke.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „System.Web.WebPages.Razor.Configuration.HostSection kann nicht umgewandelt werden' während des Upgrades von ASP.NET MVC 4 auf 5?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage