MVC 4 Beta并排安装错误

时间:2012-02-27 19:48:05

标签: asp.net-mvc-4

我刚刚安装了MVC 4 Beta,现在我的MVC 3应用程序无法编译,出现以下错误:

  

类型'System.Web.Mvc.ModelClientValidationRule'存在于'c:\ Program Files(x86)\ Microsoft ASP.NET \ ASP.NET MVC 3 \ Assemblies \ System.Web.Mvc.dll'和' c:\ Program Files(x86)\ Microsoft ASP.NET \ ASP.NET Web Pages \ v2.0 \ Assemblies \ System.Web.WebPages.dll'C:\ Users \ michaeljo \ Documents \ src \ patientgive \ Phc.Mvc \基础设施\ PasswordStrengthAttribute.cs

看起来这已被移动到另一个程序集,因为两个程序集都在GAC中,所以它不知道使用哪个。

3 个答案:

答案 0 :(得分:72)

今天安装MVC4测试版后,我的一些MVC 3项目无法编译。 (ModelClientValidationRule冲突)修复程序是:

编辑:

ProjectName.csproj

更改

<Reference Include="System.Web.WebPages"/> 

<Reference Include="System.Web.WebPages, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/>

答案 1 :(得分:4)

好的尝试这个解决方案......

在根Web.config文件中,添加一个包含密钥webPages:Version和值1.0.0.0的新条目。

<appSettings>
<add key="webpages:Version" value="1.0.0.0"/>
<add key="webpages:Version" value="1.0.0.0"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>

2.在解决方案资源管理器中,右键单击项目名称,然后选择“卸载项目”。然后再次右键单击该名称,并选择Edit ProjectName.csproj。

3.找到以下程序集引用:

<Reference Include="System.Web.WebPages"/>
<Reference Include="System.Web.Helpers" />

用以下内容替换它们:

<Reference Include="System.Web.WebPages, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/>
<Reference Include="System.Web.Helpers, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/>

4.保存更改,关闭正在编辑的项目(.csproj)文件,然后右键单击该项目并选择“重新加载”。

REFERENCE

也尝试this

我找到了这个答案here对我来说,第二个编辑与第一个编辑相结合解决了问题。

答案 2 :(得分:2)

只需删除System.Web.WebPages的引用即可。这将成功构建您的项目。