找到多个与名为“Login”的控制器匹配的类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找到多个与名为“Login”的控制器匹配的类型相关的知识,希望对你有一定的参考价值。
添加了mvc区域以后,可能出现以下错误...
找到多个与名为“Login”的控制器匹配的类型。如果为此请求(“{controller}/{action}/{id}”)提供服务的路由在搜索匹配此请求的控制器时没有指定命名空间,则会发生此情况。如果是这样,请通过调用含有 ‘namespaces‘ 参数的 ‘MapRoute‘ 方法的重载来注册此路由。
“Login”请求找到下列匹配的控制器:
LSUnion.Site.Areas.Admin.Controllers.LoginController
LSUnion.Site.Controllers.LoginController
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: 找到多个与名为“Login”的控制器匹配的类型。如果为此请求(“{controller}/{action}/{id}”)提供服务的路由在搜索匹配此请求的控制器时没有指定命名空间,则会发生此情况。如果是这样,请通过调用含有 ‘namespaces‘ 参数的 ‘MapRoute‘ 方法的重载来注册此路由。
“Login”请求找到下列匹配的控制器:
LSUnion.Site.Areas.Admin.Controllers.LoginController
LSUnion.Site.Controllers.LoginController
源错误:
执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 |
堆栈跟踪:
[InvalidOperationException: 找到多个与名为“Login”的控制器匹配的类型。如果为此请求(“{controller}/{action}/{id}”)提供服务的路由在搜索匹配此请求的控制器时没有指定命名空间,则会发生此情况。如果是这样,请通过调用含有 ‘namespaces‘ 参数的 ‘MapRoute‘ 方法的重载来注册此路由。
提示已经很明白了,那么解决方法是: 重点 namespaces:
1 public class RouteConfig 2 { 3 public static void RegisterRoutes(RouteCollection routes) 4 { 5 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 6 7 routes.MapRoute( 8 name: "Default", 9 url: "{controller}/{action}/{id}", 10 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, 11 namespaces: new string[] { "LSUnion.Site.Controllers" } 12 ); 13 } 14 }
以上是关于找到多个与名为“Login”的控制器匹配的类型的主要内容,如果未能解决你的问题,请参考以下文章