Maison > développement back-end > C++ > Comment résoudre l'erreur « System.Web.WebPages.Razor.Configuration.HostSection ne peut pas être diffusée » lors de la mise à niveau d'ASP.NET MVC 4 vers 5 ?

Comment résoudre l'erreur « System.Web.WebPages.Razor.Configuration.HostSection ne peut pas être diffusée » lors de la mise à niveau d'ASP.NET MVC 4 vers 5 ?

Linda Hamilton
Libérer: 2025-01-04 02:10:38
original
422 Les gens l'ont consulté

How to Resolve the

Erreur rencontrée lors de la mise à niveau d'ASP.NET MVC de 4 à 5

Lors de la mise à niveau de projets ASP.NET MVC de la version 4 à 5, un une erreur déroutante peut faire surface. Cette erreur se produit lorsque le projet mis à jour fait référence à une version incompatible de l'assembly System.Web.WebPages.Razor.dll.

Description de l'erreur

Le message d'erreur inclut généralement le informations suivantes :

System.Web.WebPages.Razor.Configuration.HostSection cannot be cast to System.Web.WebPages.Razor.Configuration.HostSection
Copier après la connexion

L'erreur provient d'une incompatibilité de type entre deux versions du assembly :

  • Version 1.0.0.0 située dans le GAC
  • Version 3.0.0.0, qui est la version attendue pour MVC 5

Étapes de dépannage

Pour résoudre cette erreur, il est Il est essentiel de vérifier manuellement les fichiers du projet (.csproj) et de mettre à jour les références d'assembly en conséquence.

  1. Décharger et modifier le fichier de projet : Déchargez le projet dans l'Explorateur de solutions et modifiez manuellement son fichier . csproj.
  2. Rechercher des références d'assemblage : Rechercher dans le fichier des références à "System.Web.WebPages.Razor" et vérifiez que le numéro de version et HintPath sont corrects.
  3. Mettre à jour les références : Mettez à jour le numéro de version vers 3.0.0.0 et assurez-vous que HintPath pointe vers un fichier existant.
  4. Répétez pour les projets dépendants : Répétez ces étapes pour tous les projets dépendants. projets dans la solution et tous ceux qui font référence à des DLL externes.

Exemple :

Ancienne référence :

<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>
Copier après la connexion

Mise à jour Référence :

<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>
Copier après la connexion

Considérations supplémentaires :

  • Examinez les fichiers web.config et web.config pour vous assurer qu'ils ne font pas référence à d'anciennes versions de l'assembly.
  • Exclure les bibliothèques tierces susceptibles de faire référence à l'ancienne version de DLL.
  • Référez-vous à la [question] fournie (https://stackoverflow.com/questions/18976083/system-web-webpages-razor-configuration-hostsection-cannot-be-cast-to-system- web-) pour plus d’informations.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal