ModelClientValidationRule冲突

Tas*_*que 45 asp.net asp.net-mvc visual-studio-2010 visual-studio asp.net-mvc-3

我已经和vs 2010一起安装了vs 2011开发人员预览版.现在当我在vs 2010中运行我的asp.net mvc 3项目时,我在我的项目中遇到以下错误,我正在使用ModelClientValidationRule.

System.Web.Mvc.ModelClientValidationRule类型存在于c:\ Program Files\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll和c:\ Program Files\Microsoft ASP.NET\ASP.NET网页\ v2.0\Assemblies\System.Web.WebPages.dll

这与vs 2011与vs 2010或其他内容相关

Tom*_*kel 72

接受的答案是"有用的"但是在今天安装MVC4测试版之后,我的一些MVC 3项目将无法编译.(ModelClientValidationRule冲突)修复是:

编辑:

ProjectName.csproj
Run Code Online (Sandbox Code Playgroud)

更改

<Reference Include="System.Web.WebPages"/> 
Run Code Online (Sandbox Code Playgroud)

<Reference Include="System.Web.WebPages, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/>
Run Code Online (Sandbox Code Playgroud)

  • 或者,更简单地说,只需删除对System.Web.WebPages的引用. (36认同)
  • 添加",Version = 1.0.0.0"就足够了. (5认同)
  • @Saulius虽然我不会把婴儿扔出洗澡水.有时需要System.Web.WebPages.甚至Scott H.也将其作为他的Bin Deploy的一部分http://www.hanselman.com/blog/BINDeployingASPNETMVC3WithRazorToAWindowsServerWithoutMVCInstalled.aspx (3认同)
  • @Jay Borseth我会把你的答案标记为最佳:-) (2认同)
  • @Quandary是的,我终于能够验证只添加Version = 1.0.0.0就足够了.因此<Reference Include ="System.Web.WebPages,Version = 1.0.0.0"/>谢谢 (2认同)

tug*_*erk 41

请参阅以下发行说明:

http://www.asp.net/learn/whitepapers/mvc4-release-notes

安装ASP.NET MVC 4 Developer Preview会破坏ASP.NET MVC 3 RTM应用程序.

使用RTM版本(而不是ASP.NET MVC 3工具更新版本)创建的ASP.NET MVC 3应用程序需要进行以下更改才能与ASP.NET MVC 4 Developer Preview并行工作.在不进行这些更新的情况下构建项目会导致编译错误.

http://www.asp.net/learn/whitepapers/mvc4-release-notes#_Toc303253815