web-dev-qa-db-ja.com

解決方法アセンブリ参照 'System.Web.Mvcを想定

questions/26393157/windows-update-caused-mvc3-and-mvc4-stop-working を参照してください。以下の警告を解決する最も簡単な方法は?

アセンブリ参照「System.Web.Mvc、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35」が「System.Web.Mvc、Version = 4.0.0.1、Culture = neutral、PublicKeyToken = 31bf3856ad364e35」に一致すると仮定すると、必要になる場合がありますランタイムポリシーを提供します。

21
Simon Legg

NuGetパッケージを使用すると、これが時々発生します。私はそれがどのように起こるかを正確に特定することができませんでした。 (ユーザーエラーを想定しています。)解決するために何もアップグレードする必要はなく、NuGetキャッシュをクリアするだけです。

here にあるnugetコマンドラインツールを使用します。

このコマンドですべてのキャッシュをクリアできます:

nuget locals all -clear

参照: https://docs.nuget.org/consume/command-line-reference

Visual Studioが開いている場合は、おそらくVisual Studioを再起動する必要があります。

10
Brian Merrell

質問への最良の回答として....

  • MVCパッケージの更新(Visual Studio>プロジェクト/ソリューションを右クリック> nugetパッケージの管理>更新> Microsoft ASP.NET MVC>更新)
  • コンパイルアセンブリを手動で追加する

しかしその後

  • 検索-System.Web.Mvc、Version = 4.0.0.0
  • に置き換えます-System.Web.Mvc、Version = 4.0.0.1

これにより、Views/Web.configファイル内のすべての非表示の参照が見つかります。

9
Simon Legg

すべての命題をテストした後、Webアプリケーションの.csprojを編集し、プロパティMvcBuildViewsをfalseに設定することで、最終的に警告を取り除くことに成功しました。

たぶんこれはあなたの何人かを助けるかもしれません。

0
Eric

この問題が発生するたびに、binフォルダをクリアする再構築を常に開始します。私が持っていないように、おそらくビジュアルスタジオを閉じたり開いたりする必要はありません。

これでうまくいかない場合は、上記のようなより複雑なソリューションを試してみてください。ただし、これは迅速でクリーンな修正方法です。

0
Joao Ricardo

何回か試してみたところ、NuGetからアプリケーションの洞察とすべてのパッケージを更新することができました。その後、アプリの洞察にバージョンの競合がないことを確認し、正常に機能しました。

0
Adesola

RoslynPadでこの警告が表示されていたのは、参照しているdllの1つ(私にとってはmscorlib.dll)がNuGetで取得したバージョンとは異なるバージョンを使用していたためです。警告が示すように、使用するバージョンのdllへのリンクを含むランタイムポリシーで解決することで解決できます。ファイルの先頭に次のようなものを追加するだけです。

#r "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorlib.dll"
0
Jurgy

返信が遅くなってすみませんが、私の場合、Visual StudioソリューションでMicrosoft.AspNet.Mvcの異なるバージョンを使用していたため、この警告が表示されていました。古いパッケージを同じバージョンにアップグレードすることで、それを取り除くことができました。

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

0
Babak