63

MVC 3 プロジェクト (ASP.net 4) のパッケージをアップグレードしたところ、そのプロジェクトのページにアクセスすると、次のエラー メッセージが表示されます。

'/MyApplication' アプリケーションでサーバー エラーが発生しました。

ファイルまたはアセンブリ 'System.Web.WebPages.Razor、Version=2.0.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040) 説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

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

ソース エラー:

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

アセンブリ ロード トレース: 次の情報は、アセンブリ 'System.Web.WebPages.Razor、Version=2.0.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35' を読み込めなかった理由を特定するのに役立ちます。

=== バインド前の状態情報 === ログ: ユーザー = IIS APPPOOL\ASP.NET v4.0 ログ: DisplayName = System.Web.WebPages.Razor、Version=2.0.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35 (完全に指定) LOG: Appbase = file:///C:/.../ LOG: Initial PrivatePath = C:...\bin Calling assembly : Microsoft.Web.Helpers, Version=2.0.0.0, Culture=neutral 、PublicKeyToken=31bf3856ad364e35。=== ログ: このバインドは、デフォルトのロード コンテキストで開始されます。ログ: アプリケーション構成ファイルの使用: C:...\web.config ログ: ホスト構成ファイルの使用: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config ログ: C のマシン構成ファイルの使用: \Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config. ログ: ポリシー後の参照: System.Web.WebPages.Razor、Version=2.0.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35 ログ: 新しい URL ファイルのダウンロードを試みています:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/.../cb62a7b2/327a0353/System.Web.WebPages.Razor.DLL。ログ: 新しい URL ファイルのダウンロードを試みています:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/.../cb62a7b2/327a0353/System.Web.WebPages.Razor/System .Web.WebPages.Razor.DLL. ログ: 新しい URL ファイルのダウンロードを試みています:///C:/LeGroupeHtmSVN/.../UpDir.Web/bin/System.Web.WebPages.Razor.DLL。WRN: アセンブリ名を比較すると、不一致が発生しました: メジャー バージョン ERR: アセンブリのセットアップを完了できませんでした (hr = 0x80131040)。プローブが終了しました。///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/一時 ASP.NET ファイル/.../cb62a7b2/327a0353/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL. ログ: 新しい URL ファイルのダウンロードを試みています:///C:/LeGroupeHtmSVN/.../UpDir.Web/bin/System.Web.WebPages.Razor.DLL。WRN: アセンブリ名を比較すると、不一致が発生しました: メジャー バージョン ERR: アセンブリのセットアップを完了できませんでした (hr = 0x80131040)。プローブが終了しました。///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/一時 ASP.NET ファイル/.../cb62a7b2/327a0353/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL. ログ: 新しい URL ファイルのダウンロードを試みています:///C:/LeGroupeHtmSVN/.../UpDir.Web/bin/System.Web.WebPages.Razor.DLL。WRN: アセンブリ名を比較すると、不一致が発生しました: メジャー バージョン ERR: アセンブリのセットアップを完了できませんでした (hr = 0x80131040)。プローブが終了しました。

スタックトレース:

[FileLoadException: ファイルまたはアセンブリ 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040)]
Microsoft.Web.Helpers.PreApplicationStartCode.Start() +0

[InvalidOperationException: Microsoft.Web.Helpers.PreApplicationStartCode 型のアプリケーション開始前の初期化メソッド Start は、次のエラー メッセージで例外をスローしました: ファイルまたはアセンブリを読み込めませんでした 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral、PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つ。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040)。]
System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 メソッド) +11711966
System.Web.Compilation.BuildManager.CallPreStartInitMethods() +465
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager、IApplicationHost appHost、IConfigMapPathFactory configMapPathFactory、HostingEnvironmentParameters、hostingParameters、PolicyLevel policyLevel、例外 appDomainCreationException) +1167

[HttpException (0x80004005): Microsoft.Web.Helpers.PreApplicationStartCode 型のアプリケーション開始前の初期化メソッド Start は、次のエラー メッセージで例外をスローしました: ファイルまたはアセンブリ 'System.Web.WebPages.Razor、バージョン = 2.0 を読み込めませんでした。 .0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つ。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040)
。 4869125

-------------------------------------------------- ------------------------------ バージョン情報: Microsoft .NET Framework バージョン:4.0.30319; ASP.NET バージョン:4.0.30319.272

私の web.config ファイルと私のアプリケーションでは、System.Web.WebPages.Razor v1.0.0.0 を参照しています。

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

System.Web.WebPages.Razor v2.0.0.0 を .Net 4 で使用できるかどうかさえわかりません。

では、何が System.Web.WebPages.Razor v2.0.0.0 を参照しているのかを調べるにはどうすればよいでしょうか?

4

18 に答える 18

64

とても簡単。Nuget パッケージ マネージャー コンソールで:

Update-Package Microsoft.AspNet.Mvc -再インストール

于 2015-06-10T11:06:04.233 に答える
51

この問題は、「未使用の参照の削除」を行ったときに始まりました。Web サイトはまだローカル マシンでは機能していましたが、公開後にサーバーでは機能しませんでした。

未使用の参照を削除

次のようにしてこの問題を修正しました。

  1. Visual Studio で「パッケージ マネージャー コンソール」を開きます。
  2. アンインストール パッケージ Microsoft.AspNet.Mvc
  3. インストール パッケージ Microsoft.AspNet.Mvc
于 2012-12-18T01:20:56.373 に答える
29

System.Web.WebPages.Razor v2.0.0.0 を参照しているものを見つけるにはどうすればよいですか?

例外スタックトレースを読むだけです:

Calling assembly : Microsoft.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

したがってMicrosoft.Web.Helpers、に依存する を使用しているようですSystem.Web.WebPages.Razor, Version=2.0.0.0

于 2012-06-12T16:12:01.217 に答える
8

多くの苦痛、グーグル、髪を引っ張った後、nugetを使用してMVC 4をアンインストールし、Web構成からMVC、かみそり、およびインフラストラクチャへのすべての参照を削除し、binフォルダーからdllを削除し、nugetを使用してすべてを再インストールしました。DLLが一致しなかった理由を突き止めようとするよりも、時間がかかりませんでした。

于 2013-10-15T21:09:07.383 に答える
7

ASP.NET MVC 4 では、名前空間は System.Web.WebPages.Razor ではなく、System.Web.Razor です。

それは私にとってはうまくいきました.web.configを変更してください。

于 2013-03-16T16:31:22.593 に答える
3

Windows コントロール パネルを使用して ASP.NET MVC 4 をアンインストールし、実行して再インストールしました( https://www.microsoft.com/en-us/download/details.aspx?id=30683AspNetMVC4Setup.exeから取得しました)。私の問題を修正しました。

つまり、Nuget や Visual Studio を使用する必要はありませんでした。

于 2017-03-07T22:30:28.323 に答える
1

私もこのエラーを受け取り、オンラインで見つけることができるすべてを試しましたが、消えませんでした。最後に、MVC を 5.2.3 から 4.0.40804 にダウングレードしました。最終的には MVC 5 を使用する必要があるため、このソリューションは好きではありませんが、今のところは機能します。これが他の人に役立つことを願っています。

于 2017-05-26T15:52:40.483 に答える
1

MVC4 を MVC5 バージョンにアップグレードすると、同じエラーが発生しました。まず、依存する呼び出しアセンブリをアップグレードしました。

> System.Web.WebPages.Razor, Version=2.0.0.0

その後、Viewsフォルダーの下のweb.configファイルを更新し、次のパッケージを更新しました

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

<configSections>
    <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=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=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

これらの手順は私のために機能します

于 2019-05-25T08:07:43.450 に答える
1

短い:
純粋な Web API プロジェクトでこの問題が発生している場合 (したがって、かみそりは必要ありません)、とにかく追加し、再構築してから削除してみてください。

長い話:
スタックトレースが「System.Web.Mvc」を呼び出しアセンブリとして指していることを除いて、まったく新しい純粋なWeb APIプロジェクトでこの問題が発生しました(Darinの回答を参照)。私のプロジェクトではMVC、Razorなどへの参照はありません...
MVCパッケージ(AspNet.Mvc、AspNet.WebPages、およびAspNet.Razor)を追加して、その後の問題があるかどうかを確認することにしました。
その後、WebApi アプリは完全に正常に起動しました。次に、まったく同じパッケージを削除しましたが、すべて問題ありませんでした。

それが誰かを助けることを願っています。

于 2017-08-11T14:35:26.237 に答える