ここ数か月、mvc4 Web アプリケーションに取り組んできました。金曜日にナゲットで更新パッケージを実行して、ライブラリの最新バージョンがあることを確認するまで、すべてがうまく機能していました。
アプリケーションで何かを表示しようとすると、エラーが発生することがわかります
Could not load file or assembly 'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
web.config と packages.config を確認しましたが、どこにも参照していませんSystem.Web.WebPages.Razor, Version=3.0.0.0
バージョン 2.0.0.0 を使用して、dependentAssembly ブロックを web.config に追加しました。
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
ビューディレクトリのweb.configにもv2.0.0.0が指定されていることを確認しました
<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>
また、リファレンスで参照されているバージョンが 2.0.0.0 であることも確認しました。私はそれを削除して読み込もうとしました。サーバーに最新バージョンの .net フレームワークがインストールされていることを確認してみました。
これをサーバーとローカルの両方でテストしましたが、同じエラー メッセージが表示されます。
ローカルのエラー ログにこれが表示されますLOG: Post-policy reference: System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
が、原因に関する情報が見つかりません。
Visual Studio 2012 プレミアムで開発しています。
誰にもアイデアはありますか?