【问题标题】:System.Web.Mvc missing reference to ModelClientValidationRuleSystem.Web.Mvc 缺少对 ModelClientValidationRule 的引用
【发布时间】:2016-02-05 10:21:16
【问题描述】:

我正在尝试在类库中编写一些客户端验证。我在我的本地机器上添加了对 System.Web.Mvc 的引用 C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Web.Mvc.dll 但我收到了错误

找不到类型或命名空间 ModelClientValidationRule (您是否缺少 using 指令或程序集引用?)

我的目标是 .Net Framework 4,this MSDN link 表示这应该是正确的,所以我对发生错误的原因有点困惑。

我正在使用 VS2013 并在我的本地计算机上安装了 .Net 4.5,并在其他项目中编写了客户端验证。我希望我可以通过添加 MVC NuGet 包来解决此问题,但我想探索替代方案。

【问题讨论】:

标签: c# .net asp.net-mvc


【解决方案1】:

虽然 ModelClientValidationRule 位于命名空间 System.Web.Mvc 中,但它位于程序集 System.Web.WebPages 中,因此您也需要引用该程序集。

【讨论】:

  • 供将来参考:如果您以后遇到类似问题,请查看您需要的类的 msdn 页面,它将命名该类所在的程序集。
  • 请查看grandhah.blogspot.in/2015/07/…我已经解释了数据注释的自定义验证
  • @NilsO:这并不总是那么容易(我希望如此)-在我的情况下,错误发生在对 MVC 进行 NUGET 更新后-尽管 System.Web.MVC.dll 已更新, ModelClientValidationRule 不再可用。引用旧的 DLL 解决了这个问题,但我想使用新的。我仍在寻找解决方案 - 到目前为止,MSDN 或 Mr.Google 都没有运气。类似问题(暂无答案):here
【解决方案2】:

除了 Nils 的回答,您可能需要从 NuGet 添加 Microsoft.ASP.NET.MVC 包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    相关资源
    最近更新 更多