web-dev-qa-db-ja.com

「System.Web.Mvc.PreApplicationStartCode.Start()」による重要なメソッド「System.Web.WebPages.Razor.PreApplicationStartCode.Start()」の試行に失敗しました

私のアプリケーションは正常に機能しており、いくつかのアップグレードを行った後、このエラーが発生しています。

「/」アプリケーションのサーバーエラー。


セキュリティ透過メソッド 'System.Web.Mvc.PreApplicationStartCode.Start()'によるセキュリティクリティカルメソッド 'System.Web.WebPages.Razor.PreApplicationStartCode.Start()'へのアクセスに失敗しました。説明:現在のWeb要求の実行中に未処理の例外が発生しました。エラーの詳細およびコードのどこで発生したかについては、スタックトレースを確認してください。

例外の詳細:_System.MethodAccessException_:セキュリティクリティカルなメソッド 'System.Web.Mvc.PreApplicationStartCode.Start()'によるセキュリティクリティカルなメソッド 'System.Web.WebPages.Razor.PreApplicationStartCode.Start()'へのアクセスに失敗しました。

ソースエラー:未処理の例外が、現在のWeb要求の実行中に生成されました。例外の発生源と場所に関する情報は、以下の例外スタックトレースを使用して特定できます。

バージョン情報:Microsoft .NET Framework Version:4.0.30319; ASP.NETバージョン:4.0.30319.18055

行った更新を思い出せません。これを修正する方法はありますか?

61
TylarBen

問題は解決したと思いますが、そうでない場合は、Nugetのこのパッケージを使用してください。

Install-Package Microsoft.AspNet.Mvc -Version 5.0.0

私はこのエラーのために一日を無駄にしたが、この単一の行は私のために仕事をした

72
Vivekh

試した。 。 。 Install-Package Microsoft.AspNet.Mvc -Version 5.0.0

そして。 。 。 Install-Package -Id Microsoft.AspNet.WebHelpers

どちらも成功せず、最終的にはすべてのパッケージをnuget経由で更新する必要がありました。 。働いた!!

http://www.3dbuzz.com/forum/threads/202082-ASP-net-MVC-Error-before-application-start

Visual Studioを使用している場合、nugetパッケージウィンドウを開き、Update-Packageを実行すると、すべてのdllが最新バージョンに更新されます。それでも動作しない場合は、このページを参照してください: 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

13
defcde

Mvcを4から5にアップグレードしたサイトを展開するときにこのエラーが発生しましたが、web.configを更新していません。

これから変更:

<dependentAssembly>
  <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>

これに:

<dependentAssembly>
  <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>

私のために問題を解決しました。

8
Fredrik Stolpe

私にとっても同じエラーが発生しました。 NuGetパッケージをインストールすることで修正されました

  Install-Package -Id  Microsoft.AspNet.WebHelpers
6
dnyaneshwar

私は同様の問題を抱えており、記事に基づいて解決しました Anthony Fassett によるAsp.net MVCでのRazor 2.0から3.0への更新

次のコードブロックがWeb.Configにありませんでした。

<dependentAssembly>
  <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
  <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
4
user3383724

私の場合、これは非互換性の問題でした。私はこれらのパッケージを持っていました:

  • Microsoft.AspNet.Mvcバージョン4.x
  • Microsoft.AspNet.RazorおよびMicrosoft.AspNet.WebPages、バージョン3.x

Mvcを5.xにアップグレードするとうまくいくと思いますが、Mvc 4.xを維持する必要があるため、RazorMvcを2にダウングレードする必要がありました。バツ。これを行うには、次のように古いバージョンをインストールするだけです。

Install-package Microsoft.AspNet.WebPages -version 2.0.30506
Install-Package Microsoft.AspNet.Razor -Version 2.0.30506

これらのパッケージをダウングレードした後、最初のエラーは消えましたが、web.configの問題に関連する別のエラーがまだありました。 Razorのバインディングリダイレクトを変更する必要がありました。

<dependentAssembly>
     <assemblyIdentity name="System.Web.Razor" ... />
  <!--bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /-->
     <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>

理由はわかりませんが、バインディングリダイレクトはNugetのインストールによって更新されませんでした。

2
JotaBe

「Install-Package Microsoft.AspNet.Mvc」コマンドを適用して問題を解決しました。

その後、Web APIを使用してプロジェクトを解決しました。

1
Alison Alves

私の場合、nugetのインストールによりWeb.Configが変更されました。

    <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-5.1.0.0" newVersion="1.1.0.0" />
  </dependentAssembly>

newVersion="1.1.0.0" **はnewVersion="5.1.0.0"

1

この問題には複数の解決策があります。

  • アップグレードのチュートリアルに従ってください asp.netソリューション
  • Microsoft-Web-Helpers dllを削除し、nugetパッケージMicrosoft.AspNet.WebHelpersをインストールすることを忘れないでください

次に、すべてのnugetパッケージをアップグレードしたことを確認し(「Upgrade-Package」を使用)、web.configでdllを確認します。

このエラーは、おそらくプロジェクトを変換する際の古いDLLのアクションです。

1
NicoJuicy

プロジェクトを右クリック->検索よりもソリューションのNugetパッケージを管理

Microsoft.AspNet.MvcおよびMicrosoft.Net.Compilers最新バージョンの更新

1
Hadnazzar

NuGetパッケージ-'Microsoft.AspNet.Web Pages'バージョン3.2.3をアップグレードしたときにこのエラーを受け取りました。 VS2012を使用して、Windows認証またはWindows Azure認証を使用して、テンプレート 'インターネットアプリケーション'で新しいVanilla 'ASP.NET MVC 4 Web Application'を開始しています。

おそらく、更新プログラムは他のコンポーネントと互換性がないため、これらの他のコンポーネントもアップグレードする必要があります。他の回答では、Microsoft.AspNet.MvcMicrosoft.Net.Compilers、および/またはMicrosoft.AspNet.WebHelpersの更新を提案しています。

0
barrypicker

ASP.NET Web APIプロジェクトに取り組んでおり、次のnugetを追加した後に同じ問題を取得しますCacheCow.Server.EntityTagStore.SqlServer

これをインストールして解決しました

Install-Package Microsoft.AspNet.Mvc
0
reza.cse08

インストールパッケージ-Id Microsoft.AspNet.WebHelpers

インストールパッケージMicrosoft.AspNet.Mvc -Version 5.0.0

これは私のために働いた

0
priyanka