web-dev-qa-db-ja.com

アセンブリ 'SomeAssemblyは、' System.Web.Mvc、Version = 4.0.0.0を使用します。これは、参照されているアセンブリ 'System.Web.Mvc、バージョン3.0.0.0よりも高いバージョンです。

VS 2012RTMでVS2010 .net 4.0 MVC3プロジェクトを開いてコンパイルした後、以下のエラーが発生します。 MVC4にアップグレードせずにこれを修正するにはどうすればよいですか?

VS2010とVS2012を並べてインストールしています。

エラー1アセンブリ 'SomeAssembly、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null'は 'System.Web.Mvc、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35'を使用します。これは参照されているAssemblyよりも高いバージョンです。 'System.Web.Mvc、Version = 3.0.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35'

14
kyleb

チェックするもう1つのことは、ソリューション内のmvc3アセンブリを参照しているテストプロジェクトがまだないことです。それが私を惹きつけたものです。

26
cobolstinks

web.configを確認してください。プロジェクトが4.0を参照していても、system.web/assembliesのバージョンは3.0です。

それは私の場合でした。

12
Bruno Garcia

参考資料に移動し、System.web.mvcの現在のバージョンを確認します(まだmvc3を指していると思います)。それらを削除し、もう一度参照を追加しますが、今回はSystem.Web.Mvc 4.0 ..!単一のソリューションで複数のプロジェクトを使用している場合は、次のようになります。 ProjA(MVC4)とProjB(Still in MVC3)の2つのプロジェクトがあります。ProjAにProjBの参照がある場合、またはProjBを使用している場合は、上記のエラーが発生する可能性があります。両方のプロジェクトでMVCバージョンを変更する必要がある場合があります。

7
anit

Visual Studioを使用している場合は、NuGetパッケージの更新を確認できます。これにより、Web.configを手動で操作しなくても更新されます。 [ツール]-> [ライブラリパッケージマネージャー]-> [ソリューションのNuGetパッケージの管理]を選択します。左側のパネルで更新を選択して、MVCの最新バージョンを使用していることを確認し、更新のリストでMVCを探して、[更新]をクリックします。更新が完了したら、[ビルドとビルドソリューション]をクリックします。これが、MVCとFluent ValidationNuGetパッケージの間にあった問題を解決する方法でした。また、Web.configを自動的に更新します。

2
Scanner

Asp.net 4.5を使用していて、同様の問題がありました。 参照を右クリックし、NuGetパッケージの管理に移動します。古いバージョンのパッケージのアップデートがあるかどうかを確認してください。ファイルを上書きするように求められる場合がありますが、それは問題ありません。

0
linds