Asp.net mvc 类型或命名空间名称';IClientValidable';在.NET 4.7中找不到

Asp.net mvc 类型或命名空间名称';IClientValidable';在.NET 4.7中找不到,asp.net-mvc,system.web,.net-4.7,Asp.net Mvc,System.web,.net 4.7,我正在用VS 2017构建一个ASP.NET MVC应用程序,目标是.NET 4.7,我正在尝试在web应用程序引用的业务库中构建我的模型。因此,我尝试将MVC项目默认附带的许多相同类放入一个全新的类库中 特别是,我得到了以下错误: 这与之前发布此问题的时间非常不同: 也就是说,它们都可以通过包含System.Web.Mvcwhere的using语句来解决 但我肯定已经做到了。。。这是类库的参考管理器,其中包含了可用于.NET4.7的参考 作为进一步的证明,这里有一个并排的示例,我可以从

我正在用VS 2017构建一个ASP.NET MVC应用程序,目标是.NET 4.7,我正在尝试在web应用程序引用的业务库中构建我的模型。因此,我尝试将MVC项目默认附带的许多相同类放入一个全新的类库中

特别是,我得到了以下错误:

这与之前发布此问题的时间非常不同:

  • 也就是说,它们都可以通过包含
    System.Web.Mvc
    where的using语句来解决

    但我肯定已经做到了。。。这是类库的参考管理器,其中包含了可用于.NET4.7的参考

    作为进一步的证明,这里有一个并排的示例,我可以从
    System.Web.Mvc
    中引入一些类,但不能从
    iclientvalidable

    为了便于参考,下面是类库本身的配置


    那么这个班搬到哪里去了?NET 4.7是否提供了它?

    因此,真正的问题似乎不是它去了哪里,而是为什么最新的框架针对的是这么旧的版本

    在以.NET Framework 4.7为目标时,尝试添加对
    System.Web.MVC
    的引用时,唯一可用的选项是MVC v2.0.0.0,它非常古老。当播种一个新的MVC应用程序时,它将与v5.2.3.0一起提供

    这是加载了两个库的程序集资源管理器。公共项将在每个中突出显示,但直到稍后才添加
    iclientvalidable

    这里是VS 2017参考管理器,您可以根据当前框架添加参考,显示新.NET版本的旧MVC库

    那么问题就变成了

    Q如何添加框架程序集列表中不可用的引用?

    A:与添加任何其他引用的方式相同-您可以浏览到dll或从nuget获取它

    DLL如果您已经有了一个web应用程序,您很有可能在现有软件包目录中找到该DLL,例如:

    \packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll
    
    如果您更喜欢Nuget,一些小麻烦是Nuget软件包名称与它们安装的程序集不完全同步,浏览或搜索哪些程序集随哪些软件包而来并不容易,而且它们库和框架通常与您可能不需要的其他东西捆绑在一起。综上所述,您将寻找名为:

    将安装以下库:


    因此,真正的问题似乎不是它去了哪里,而是为什么最新的框架针对的是这么旧的版本

    在以.NET Framework 4.7为目标时,尝试添加对
    System.Web.MVC
    的引用时,唯一可用的选项是MVC v2.0.0.0,它非常古老。当播种一个新的MVC应用程序时,它将与v5.2.3.0一起提供

    这是加载了两个库的程序集资源管理器。公共项将在每个中突出显示,但直到稍后才添加
    iclientvalidable

    这里是VS 2017参考管理器,您可以根据当前框架添加参考,显示新.NET版本的旧MVC库

    那么问题就变成了

    Q如何添加框架程序集列表中不可用的引用?

    A:与添加任何其他引用的方式相同-您可以浏览到dll或从nuget获取它

    DLL如果您已经有了一个web应用程序,您很有可能在现有软件包目录中找到该DLL,例如:

    \packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll
    
    如果您更喜欢Nuget,一些小麻烦是Nuget软件包名称与它们安装的程序集不完全同步,浏览或搜索哪些程序集随哪些软件包而来并不容易,而且它们库和框架通常与您可能不需要的其他东西捆绑在一起。综上所述,您将寻找名为:

    将安装以下库: