Search code examples
c#asp.net-mvcasp.net-mvc-2routescontrollers

Multiple Controllers with one Name in ASP.NET MVC 2


I receive the following error when trying to run my ASP.NET MVC application:

The request for 'Account' has found the following matching controllers: uqs.Controllers.Admin.AccountController MvcApplication1.Controllers.AccountController

I searched the project for MvcApplication1.Controllers.AccountController to remove it, but I can't find a match.

I try to registered a route to fix it:

 routes.MapRoute(
     "LogAccount", // Route name
     "{controller}/{action}/{id}", // URL with parameters
     new { controller = "Account", action = "LogOn", id = "" },
     new string[] { "uqs.Controllers.Admin" } // Parameter defaults
 );

but that didn't solve it.

Multiple types were found that match the controller named 'Account'.

How I can fix this problem?


Solution

  • You can't have more than one controller named Account in your application, even in different namespaces.

    You have to have these controllers split up by Area (a feature in ASP.NET MVC 2).

    If you conduct a Find for AccountController you'll find all controllers named Account in your application; and move them off into different Areas if you want both of them, or delete one.