外部ログインを使いたいので、パッケージマネージャーで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
あなたは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.
もう 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 のバージョン番号を更新する必要があります:
<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>
</configSections>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages
validateRequest="false"
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<controls>
<add assembly="System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
</pages>