1

System.Web.Mvc バージョン 3 と System.Web.WebPages バージョン 1 を使用するクラス ライブラリがあります。Visual Studio 2012 (MVC バージョン 4) をインストールした後、Visual Studio 2010 でこのクラス ライブラリをコンパイルする際に問題が発生しました。

Assembly 'System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' uses 'System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' c:\Program Files\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Web.Mvc.dll

このプロジェクトでは、まだ MVC 4 を使用したくありません。

4

1 に答える 1

3

テキスト エディターで .csproj ファイルを開くと、次の行が見つかりました。

<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll</HintPath>
</Reference>

HintPath私のマシン (Windows 7 32 ビット) に が存在しないことに気付いたので、どうやら Visual Studio は自動的に最新バージョン (おそらく GAC) を取得します。プロジェクト参照から System.Web.Mvc を削除し、正しいパスを参照して再度追加しました。.csproj は次のようになります。

<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\..\..\..\..\..\..\Program Files\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll</HintPath>
</Reference> 

また、Version 引数が 3.0.0.0 に設定されていることを確認してください。

于 2012-10-15T08:17:28.317 に答える