web-dev-qa-db-fra.com

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

Je reçois cette erreur lorsque j'essaie de lancer un projet que j'ai repris. 

Je suppose que j'ai un problème dans web.config , mais je ne sais pas quoi chercher.

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

Toutes les suggestions sur la même chose sont très appréciées.

41
Dave

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

à

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

(définissez MvcWebRazorHostFactory sur la version 4.0.0.0)

50
menkow

Définissez MvcWebRazorHostFactory sur la version 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" />
36
user2009677

Pour tous ceux qui souffraient encore, ma solution était identique à celle ci-dessus, mais avec un Tweak - je devais faire correspondre la version de type usine avec la version de System.Web.Mvc dll dans vos références de projet. Pour savoir quelle version vous avez:

  1. Développez "Références" dans votre projet
  2. Cliquez avec le bouton droit sur System.Web.Mvc et regardez la version.

     enter image description here

  3. Mettez à jour web.config dans votre dossier Views

Donc dans mon cas c'était comme ci-dessous:

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

J'ai eu la même erreur. Ce qui a fonctionné pour moi: Faites un clic droit sur votre projet et sélectionnez Gérer les paquets NuGet. Installez Microsoft ASP.NET Razor. Reconstruisez le projet. 

0
mvuong