web-dev-qa-db-ja.com

タイプ 'System.Web.Mvc.MvcWebRazorHostFactory'の式は戻りタイプ 'System.Web.WebPages.Razor.WebRazorHostFactory'には使用できません

引き継いだプロジェクトを実行しようとすると、このエラーが発生します。

web.configに問題があると思いますが、何を探すべきかわかりません。

タイプ 'System.Web.Mvc.MvcWebRazorHostFactory'の式は戻りタイプ 'System.Web.WebPages.Razor.WebRazorHostFactory'には使用できません

同じに関する提案は非常に高く評価されています。

41
Dave

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

(MvcWebRazorHostFactoryをバージョン4.0.0.0に設定)

50
menkow

MvcWebRazorHostFactoryをバージョン5。0.0.0にすべてのビュー/web.configの下で設定します

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

まだ苦しんでいる他のすべての人にとって、私の解決策は上記のようなものでしたが、Tweak-工場タイプのバージョンをシステムのバージョンと一致させる必要がありました。プロジェクト参照のWeb.Mvc dll。使用しているバージョンを確認するには:

  1. プロジェクトの「参照」を展開します
  2. System.Web.Mvcを右クリックして、バージョンを確認します

    enter image description here

  3. Viewsフォルダーのweb.configを更新します

だから私の場合、次のようになりました:

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

同じエラーが発生しました。私にとってうまくいったこと:プロジェクトを右クリックして、[NuGetパッケージの管理]を選択します。 Microsoft ASP.NET Razorをインストールします。プロジェクトをリビルドします。

0
mvuong