以下を追加したいと思います。
私の場合、次のように修正することができました。最初に(重要です!)、ターゲットフレームワークを4.6.1に変更し、ソリューションをリロードしてから、NUGETを使用してバイナリパッケージをアップグレードしました。
次に、上記の解決策で説明されているように問題を修正した後、さらにエラーが発生しました。
構成エラーの説明:この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下の特定のエラーの詳細を確認し、構成ファイルを適切に変更してください。
パーサーエラーメッセージ:system.web.webPages.razor / hostの構成セクションハンドラーの作成中にエラーが発生しました:ファイルまたはアセンブリを読み込めませんでした'System.Web.WebPages.Razor、Version = 2.0.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35'またはその依存関係の1つ。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040)
アセンブリロードトレース:次の情報は、アセンブリ'System.Web.WebPages.Razor、Version = 2.0.0.0、Culture = neutral、PublicKeyToken=31bf3856ad364e35'をロードできなかった理由を特定するのに役立ちます。
ルートの関連部分はWeb.config
次のようになりました。
<configSections>
<sectionGroup name="system.web.webPages.razor"
type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup,
System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection,
System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection,
System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
これを次のように変更した後:
<configSections>
<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" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection,
System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" />
</sectionGroup>
</configSections>
それは即座に機能していました。
ご了承ください:
また、 System.Web。*アセンブリごとにプロパティcopylocalをtrueに変更しました。
一部のプロジェクトでは、セクショングループsectionGroup name="system.web.webPages.razor"
が欠落している場合もあります。その場合は、セクショングループを追加する必要があります。
MVC 4にアップグレードする場合は、MVC 4にいくつかの重大な変更があるため、最後の手順を実行する前に、まずMVC 3にアップグレードしてください(詳細はこちらを参照)。