web-dev-qa-db-ja.com

ファイルまたはアセンブリ 'System.Web.WebPages.Razor、Version = 2.0.0.0を読み込めませんでした

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 AP​​PPOOL\ASP.NET v4.0ログ:DisplayName = System.Web.WebPages.Razor、Version = 2.0.0.0、Culture =ニュートラル、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。 === LOG:このバインドはデフォルトのロードコンテキストで開始します。ログ:アプリケーション構成ファイルの使用: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 file:/// C:/Windows/Microsoft.NET/Framework64のダウンロードを試行しています/v4.0.30319/Temporary ASP.NET Files /.../ cb62a7b2/327a0353/System.Web.WebPages.Razor.DLLログ:新しいURL file:/// 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)。プローブが終了しました。

スタックトレース:

[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、Exception appDomainCreationException)+1167

[HttpException(0x80004005):タイプMicrosoft.Web.Helpers.PreApplicationStartCodeのアプリケーション前開始初期化メソッドStartは、次のエラーメッセージで例外をスローしました:ファイルまたはアセンブリ 'System.Web.WebPages.Razor、Version = 2.0をロードできませんでした.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35 'またはその依存関係の1つ。検出されたアセンブリのマニフェスト定義は、アセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)。]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+11700896 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr、HttpContext context)+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>

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

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

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に依存しています。

27
Darin Dimitrov

とても簡単。 Nuget Package Managerコンソールで:

更新パッケージMicrosoft.AspNet.Mvc-再インストール

57
Mohamed Emad

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

Remove unused references

次のことを行ってこの問題を修正しました。

  1. Visual Studioで「パッケージマネージャーコンソール」を開きます
  2. アンインストールパッケージMicrosoft.AspNet.Mvc
  3. インストールパッケージMicrosoft.AspNet.Mvc
50
Diganta Kumar

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

8
user1069733

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

それは私のために働いた、web.configを変更します。

7
Tomas Kubes

System.Web.Mvcへの不要な参照を追加した後、同じエラーが発生していました。見つけたすべての参照を削除しましたが、何も機能していないようです。最終的にプロジェクトのbinフォルダーを削除し、再構築後にエラーがなくなりました。

2
mpwhitt

Windowsコントロールパネルを使用してASP.NET MVC 4をアンインストールし、AspNetMVC4Setup.exehttps://www.Microsoft.com/en-us/download/details。 aspx?id = 3068 )、そしてそれは私のために問題を修正しました。

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

1
twasbrillig

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

1
David Frodin

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

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

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

1
Mik

前述のエラーで以前の作業プロジェクトが突然クラッシュした場合、次の解決策を試すことができます。

  • それぞれのWeb /サービスプロジェクトのbinフォルダーを削除します。
  • 構築する

これは私のために働いた。

0
SOS

同様のアセンブリバインディングエラーの場合、次の手順が役立つ場合があります。

  1. ソリューションを右クリックして、ソリューションのNugetパッケージの管理...をクリックします。
  2. [統合]タブ(最後のタブ)に移動し、ソリューション内の異なるプロジェクトにインストールされたパッケージに違いがないかどうかを確認します。特に目立たないため、バージョンが低い可能性のある参照プロジェクトに特に注意してください)
  3. consolidate特にアセンブリエラーに関連するパッケージであり、多くのパッケージは* .code&* .api&...などの他のパッケージに依存していることに注意してください.
  4. すべての統合の疑いを解決した後、アプリを再構築して再実行し、アセンブリバインディングが解決されるかどうかを確認します。
0
Iman Abidi

私は最初に試しました Mohammed Emadの答え -喜びはありません。それから私は試した

git clean -x -d -f

。csprojを手動で編集 で修正できる新しい「Roslyn」エラーが発生しました。

興味深いことに、Roslynの質問のページを少し下に読んだ後、さらに多くの票(Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r)で 別の提案 を見つけました。 .csprojを手動で編集するよりも、それを実装したいと考えて、.csprojの変更をバックアウトしました。ソリューションがまだ機能していることを確認するためだけです。

だから、結局のところ、(このページの)Mohammedの答えは、最初にgit cleanを実行しただけでうまくいくのだろうかと思っています。

0
OutstandingBill

場合によっては、これを解決するためにWebページ2をインストールするだけです(私の場合は解決しました-Web APIを使用してローカルWebページにデプロイします)

https://www.Microsoft.com/en-us/download/details.aspx?id=346

0
KhaNguyen

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

これらの手順は私のために働く

0
Zia Qammar