安装MVC 4后,MVC 3中的System.Web.WebPages程序集引用错误

时间:2012-10-15 08:17:28

标签: c# asp.net-mvc

我有一个使用System.Web.Mvc版本3和System.Web.WebPages版本1的类库。安装Visual Studio 2012(MVC版本4)后,我在Visual Studio 2010中编译此类库时遇到问题:< / p>

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.

1 个答案:

答案 0 :(得分: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。