1. ホーム
  2. c#

[解決済み] [A]System.Web.WebPages.Razor.Configuration.HostSection にキャストできない... web.config 問題

2022-04-24 05:11:47

質問

以下のエラーが発生します。

[A]System.Web.WebPages.Razor.Configuration.HostSection はキャストできません。 を [B]System.Web.WebPages.Razor.Configuration.HostSection に変更しました。タイプ A は 'System.Web.WebPages.Razor, Version=2.0.0.0' から発信されています。 Culture=neutral, PublicKeyToken=31bf3856ad364e35' から発生しています。 'デフォルト' at 場所 C:\WINDOWSMicrosoft.Net@assembly@[email protected][email protected]'. タイプBは 'System.Web.WebPages.Razor, Version=3.0.0.0' から発信されています。 Culture=neutral, PublicKeyToken=31bf3856ad364e35' から発生しています。 Default' at location 'C:\UsersMyName³³AppData³³Local³³Temp³³Temporary ASP.NET Files\root\63e7ff36\a1cb775d\assembly\dl3\8f568c18\9b7ddacf_d04dcf01\System.Web.WebPages.Razor.dll'.

同じような問題をstackoverflowで検索し、その解決策を使いましたが、私が経験している問題を解決できないようです。

突然発生し、clean solutionを押したところ、このエラーが出ました。また、ソリューション上でnugetパッケージ復元を使い始めました。パッケージも更新したので(Update-packageを使用)、そのうちの1つがこの問題と関係があるかもしれません。

どのように解決するのですか?

このエラーの原因は、Views フォルダ内の web.config で System.Web.WebPages.Razor, Version=2.0.0.0 が 3.0.0 でなく参照されていることです。

一般的に、これはnuget-packageのアップグレード後に起こる可能性があり、このフォルダは考慮されません。

を更新してください。 Views\Web.config ファイルを作成します。

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

MVC 5へのアップグレードの詳細については、こちらをご覧ください。 http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2