ファイルまたはアセンブリをロードできませんでした 'System.Web.WebPages.Razor, Version=3.0.0.0

外部ログインを使いたいので、パッケージマネージャーでOauthをインストールした:

 PM> Install-Package Microsoft.AspNet.WebPages.OAuth

その後、razorをインストールしたところ、こんなエラーが出ました:

PM> Install-Package Microsoft.AspNet.Razor

しかし、まだこの例外が残っています。さらに、私のアプリケーションはasp.netアプリケーションであり、MVCアプリケーションではありません。ありがとうございました。

[FileNotFoundException: 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 system cannot find the file specified.]
   Microsoft.Web.WebPages.OAuth.PreApplicationStartCode.Start() +0
質問へのコメント (2)

ローテクな提案で申し訳ないが、NuGetと数時間格闘した末にようやくうまくいった別の方法として、新しい空のプロジェクト(私の場合はWeb API)を作成し直し、古いプロジェクト(今は壊れている)のガットを新しいプロジェクトにコピーする方法がある。約15分かかった。

解説 (2)
ソリューション

あなたはRazor 3にアップグレードしました。VS12(アップデート4まで)はRazor 3をサポートしていません。nugetからRazor 3をインストールするか、以下の手順でダウングレードしてください。

geekswithblogs.net/anirugu/archive/2013/11/04/how-to-downgrade-razor-3-and-fix-the-issue-that.aspx.

解説 (3)

もう 1 つの方法は、Microsoft.AspnNet.Mvc NuGet パッケージを更新することです。NuGet アップデートは Web.Config を更新しないので注意してください。NuGet update は Web.Config を更新しないので注意してください。例えば、asp.net MVC 4.0.0.0 から 5.0.0.0 にアップデートした場合、Web.Config.NuGet のバージョン番号を更新する必要があります:


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









解説 (1)

Visual StudioのNuGet Package Managerコンソールを使用して更新します。

Update-Package -Microsoft.AspNet.Mvcを再インストールします。

解説 (0)