J'ai travaillé sur une solution MVC 4 et j'ai essayé de la mettre à niveau vers MVC 5. J'ai suivi les étapes décrites ici .
Je l'ai suivi et maintenant chaque fois que j'exécute l'application MVC, il me donne ce message d'erreur:
[A]System.Web.WebPages.Razor.Configuration.HostSection cannot be cast to
[B]System.Web.WebPages.Razor.Configuration.HostSection.
Type A originates from
'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35' in the context 'Default' at location
'C:\WINDOWS\Microsoft.Net\Assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll'.
Type B originates from 'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35' in the context 'Default' at location
'C:\Users\User\AppData\Local\Temp\Temporary ASP.NET
Files\root\665ac028\de53a189\Assembly\dl3\c2c0a4b5\56e8099e_40e0ce01\System.Web.WebPages.Razor.dll'.
Est-ce que quelqu'un sait comment cela a pu provenir? ou comment le résoudre? J'ai regardé jusqu'ici? J'ai essayé de changer les fichiers web.config, en vain ...
Dans votre Web.config
(- s) assurez-vous que assemblyBinding
contient la version appropriée pour l'assembly System.Web.WebPages.Razor
et System.Web.Mvc
.
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
</assemblyBinding>
Et assurez-vous que rasoir sectionGroup
dans ConfigSections
fait également référence aux dernières versions:
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.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>
Vérifiez la version dans web.config. S'il renvoie à nouveau une erreur, essayez de nettoyer la solution et de la reconstruire. Vérifiez également le dossier Bin du projet, supprime les anciennes références du dossier Bin et reconstruisez la solution du projet.
Il semble que vous ayez toujours une référence à la DLL Razor 2.0.
Vérifiez les propriétés de vos références de projet - en particulier celle "Utiliser une version spécifique".