编程语言
首页 > 编程语言> > c# – RouteCollection’不包含’MapMvcAttributeRoutes的定义

c# – RouteCollection’不包含’MapMvcAttributeRoutes的定义

作者:互联网

我只需将ASP.Net 4.5.2应用程序降级到ASP.Net 4.0.当然,这会带来问题,例如未正确安装的引用.我已经解决了其中一些问题,但我无法理解错误:

CS106 ‘RouteCollection’ does not contain a definition for
‘MapMvcAttributeRoutes’ and no extension method
‘MapMvcAttributeRoutes’ accepting a first argument of type
‘RouteCollection’ could be found

public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes) {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapMvcAttributeRoutes();

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "device", action = "view", id = UrlParameter.Optional });
        }
    }

有人知道我在这里要做什么吗?

额外信息

我使用的命名空间:

>使用System.Web
>使用System.Web.Mvc
>使用System.Web.Routing
>使用System.Web.Http

Visual Studio社区2015

解决方法:

支持属性路由的MVC唯一版本(它提供对MapMvcAttributeRoutes扩展方法的支持)是MVC 5.

但是,MVC 5 only supports .NET framework 4.5及更高.

所以,你有两个选择:

>继续使用.NET Framework 4.5
>降级到MVC 4并且:

> Ditch属性路由完全并使用基于约定的路由
>使用支持MVC 3和4的开源attribute routing

Being that Microsoft 07002 (except for 3.5, but that would mean downgrading to MVC 2 for support), I would highly recommend you consider the first option seriously.

标签:c,reference,asp-net,asp-net-mvc,asp-net-mvc-routing
来源: https://codeday.me/bug/20190527/1166459.html