セキュリティ透過メソッド 'WebMatrix.WebData.PreApplicationStartCode.Start()'による試行


176

更新:mvc 4からmvc 5についても同じです。

新しいmvc 4プロジェクトを開始し、その中のmvc 3プロジェクト(コントローラー/モデル/スクリプトなど)を移行しました。すべてがコンパイルされると、次のエラーが発生します。

セキュリティトランスペアレントメソッド 'WebMatrix.WebData.PreApplicationStartCode.Start()'によるセキュリティクリティカルメソッド 'System.Web.WebPages.Razor.WebPageRazorHost.AddGlobalImport(System.String)'へのアクセスに失敗しました。

このエラーでウェブ上に何も見つかりません。エラーは、アプリケーションの開始に入る前に発生します。

nugetを使用してすべてのアセンブリを再インストールしてみましたが、「クリーン」なweb.configを使用できませんでした。

誰かが以前にこの問題を抱えていましたか?

回答:


246

私にとってこのエラーは、MVC 4からMVC 5に更新した後にMicrosoft.AspNet.WebHelpersをインストールしなかったために発生しました。これは、NuGetパッケージをインストールすることで修正されました

Install-Package -Id  Microsoft.AspNet.WebHelpers

1
これで問題は解決しました。それは私のResourcesクラスでいくつかの名前空間の問題を作成しましたが、私はそれをに変更しProperties.Resources.xxxxx、問題は修正されました。
Cody

2
私はこれを実行しましたが、うまくいきませんでした...しかし幸いにも、別の回答で実行する2つ目のコマンドがあることがわかりました
Kevin Nelson

これは私のためにそれを修正しましたが、アセンブリバインディングcode<dependentAssembly> <assemblyIdentity name = "WebMatrix.WebData" publicKeyToken = "31bf3856ad364e35" culture = "neutral" /> <bindingRedirect oldVersion = "0.0.0.0-3.0.0.0 "newVersion =" 3.0.0.0 "/> </ dependentAssembly>code
2017年

上記のパッケージをインストールしたところ、問題は解決しました。NUget UIを使用してインストールし、すべての依存関係もインストールしました
Atta H.

204

エラーが発生した場合

セキュリティトランスペアレントメソッド 'WebMatrix.WebData.PreApplicationStartCode.Start()'によるセキュリティクリティカルメソッド 'System.Web.WebPages.Razor.WebPageRazorHost.AddGlobalImport(System.String)'へのアクセスに失敗しました。

これを修正するには、NuGetパッケージマネージャーを使用してこのパッケージをインストールします。

Install-Package Microsoft.AspNet.WebHelpers

その後、おそらく別のエラーが発生します

WebMatrix.Dataバージョン3.0.0.0アセンブリを読み込めません

これを修正するには、NuGetパッケージマネージャーを使用してこのパッケージをインストールします。

Install-Package Microsoft.AspNet.WebPages.Data

VS 2015 RTMにアップグレードすると、この正確なエラーが発生しました。同じコードはVS 2013でも問題なく実行されました。唯一の違いは、2013のIISExpressが無視していると思われる2015がIIS用に生成する新しい.configファイルです。この回答でこのケースも修正されました。両方のnugetを追加してください。
Angularsen 2015

VS2015 RTMでWebサイトを実行することにまったく成功しなかったことに言及する必要があります。Microsoft.AspNet.WebHelpersをインストールするとYSODが修正されましたが、SQLアクセス権が原因でタイムアウトが発生しました。まったく同じコードがVS2013でも問題なく実行されました。
Angularsen 2015

1
ASP .NET MVC 4からASP .NET MVC 5にアップグレードするときに、VS 2013 Express Editionを使用してこの問題に遭遇しました。@ Anushkaが2番目の問題を解決策で説明したため、これは役に立ちました。
Jerameel Resco

VS 2015でソリューションを実行しようとすると、このエラーが発生します。VS2013で問題なく実行されます。2つのパッケージをインストールすることをお勧めしますが、なぜインストールする必要があるのか​​わかりません。私はVS 2015でこのエラーを取得しない、私はVS 2013で開発されたことを他のソリューション持っている
John81

2
VS2015は、コンパイル時にいくつかのWebMatrix DLLをwebappのbinディレクトリに配置することを決定しました-VS2013はそれを行いません。2015がこれらのDLLをどこから取得しているかはわかりませんが、WebMatrix DLLを明示的に使用せずにVS2013によってコンパイルされたアプリを起動したときに、GACから読み込まれるDLLとは異なるバージョンである必要がありますアプリのbinディレクトリに含まれています。2015出力から4つのWebMatrixファイルを削除し、IISを再起動すると、問題は解消することに注意してください。
Simon Green

19

ここに着陸してMVC 4からMVC5にアップグレードしようとしている人は誰でも、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

また、nugetから「Microsoft.AspNet.WebApi.WebHost」パッケージをインストールする必要がありました。しかし、それだけです。

ああ、私はこのappSettingを作成する必要がありました: <add key="owin:AutomaticAppStartup" value="false" />

:)


14

上記のソリューションをすべて試しましたが、web.configコンパイル要素がWebMatrix.DataおよびWebMatrix.WebDataのバージョン2.0.0.0を参照していることがわかるまで、それでも機能しません。web.config内のこれらのエントリのバージョンを3.0.0.0に変更すると役立ちました。


10

にアップグレードmvc 4するとき、私は同様の問題で苦労してきましたmvc 5

セキュリティトランスペアレントメソッド 'System.Web.WebPages.Administration.SiteAdmin.RegisterAdminModule()'からセキュリティクリティカルメソッド 'System.Web.WebPages.ApplicationPart..ctor(System.Reflection.Assembly、System.String)'にアクセスしようとして失敗しました。

パブリッシュダイアログの[余分なファイルを削除する]チェックボックスで解決しました。


SharePoint 2013プロバイダーホスト型アプリ(ASPにデプロイされたASP.NET MVC 5)でこのエラーが発生しました。公開ダイアログの「追加ファイルの削除」で解決されました。
アナトリーミロノフ2014

8

Microsoft.AspNet.WebHelpers私のために作品を再インストールする

Update-Package reinstall Microsoft.AspNet.WebHelpers

6

もう1つの提案...これは、展開サーバーのサイトbinフォルダーでMVC 5にアップグレードした後、MVC 3プロジェクトの古いDLLが原因で発生しました。これらのDLLはコードベースで使用されなくなったにもかかわらず、問題の原因となっているようです。すべてを一掃して再展開しましたが、問題ありませんでした。


これが私のエラーの理由でした。binフォルダーに古いファイルと新しいファイルがありました。ありがとう
Abhinaw Sharma、2015

5

あなたも得るかもしれません:

ファイルまたはアセンブリ 'WebMatrix.Data、Version = 3.0.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040)

これはこのパッケージに移動しました

 Install-Package Microsoft.AspNet.WebPages.Data

この質問への回答を試みる前、およびパッケージを更新した後は、おそらくクリーンビルドを行う必要があります


3

これが私がこの問題を修正した方法です:

nuget パッケージマネージャーコンソールを開き、以下のnugetパッケージをインストールします。

Install-Package WebMatrix.Data
Install-Package Microsoft.AspNet.WebHelpers
Update-Package

ソリューションをクリーンアップして再構築すると、私のasp.net Webアプリが機能し始めます!


2

binからすべてのファイルを削除してからソリューションを再構築するのがうまくいきました。


1

私にとってこのエラーは、MVC4からMVC5にアップグレードした後、DotNetOpenAuthがMVC5と互換性がないことが原因でした。Microsoft.Web.WebPages.OAuthをアンインストールすると問題が解決しました。


1

参照から削除しました。次に、パッケージマネージャーコンソールでこれを実行します

Install-Package WebMatrix.Data

最後に、WebMatrix.WebDataアセンブリを参照に追加し、プロジェクトを再構築します。これは私にとっては機能します。問題が解決することを願っています。


0

helppages nugetパッケージを介してwebapiをインストールしました。そのパッケージは、ほとんどのasp.net mvc 4バイナリを、プロジェクトの他の部分と一緒にうまく機能しないベータ版に置き換えました。修正は、元のmvc 4 dllを復元することで、すべて問題ありませんでした。


0

同じ問題があり、MVC Future(Microsoft.AspNet.Mvc.Futures)を更新する必要がありました。

Install-Package Microsoft.AspNet.Mvc.Futures

0

私にとってこのエラーは追加することで解決しました

<system.web>
 <trust level="Full">
 </system.web>

web.config

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.