41 votes

L'expression de type 'System.Web.Mvc.MvcWebRazorHostFactory' ne peut pas être utilisée pour le type de retour 'System.Web.WebPages.Razor.WebRazorHostFactory'

J'obtiens cette erreur lorsque j'essaie d'exécuter un projet que j'ai repris.

Je suppose que j'ai un problème dans mon web.config mais je ne sais pas ce qu'il faut chercher.

L'expression de type 'System.Web.Mvc.MvcWebRazorHostFactory' ne peut pas être utilisée pour le type de retour 'System.Web.Mvc.MvcWebRazorHostFactory'. utilisée pour le type de retour 'System.Web.WebPages.Razor.WebRazorHostFactory'

Toute suggestion à ce sujet est la bienvenue.

50voto

mvv Points 392

Essayez de remplacer la ligne dans Web.Config

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

a

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

(MvcWebRazorHostFactory à la version 4.0.0.0)

36voto

user2009677 Points 391

Mettre la version de MvcWebRazorHostFactory à jour 5 .0.0.0 dans ALL Views/web.config Sous

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

8voto

ukie Points 166

Pour tous ceux qui souffrent encore, ma solution était la même que celle décrite ci-dessus, mais avec un modifier - Je devais faire correspondre la version du type d'usine avec la version de la dll System.Web.Mvc dans les références de votre projet. Pour savoir quelle version vous avez :

  1. Développez les "Références" dans votre projet

  2. Cliquez avec le bouton droit de la souris sur System.Web.Mvc et regardez la version.

    enter image description here

  3. Mettez à jour le fichier web.config dans votre Dossier de vues

Dans mon cas, la situation était donc la suivante :

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

0voto

mvuong Points 1

J'ai obtenu la même erreur. Ce qui a fonctionné pour moi : Cliquez avec le bouton droit de la souris sur votre projet et sélectionnez Manage NuGet Packages. Installez Microsoft ASP.NET Razor. Reconstruisez le projet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X