Foram encontrados vários tipos que correspondem ao controlador chamado ‘Home’ – em duas áreas diferentes

Eu tenho duas áreas no meu projeto. Agora, quando executo o programa, recebo este erro:

Multiple types were found that match the controller named 'Home'. This can happen if the route that services this request ('{controller}/{action}/{id}') does not specify namespaces to search for a controller that matches the request. If this is the case, register this route by calling an overload of the 'MapRoute' method that takes a 'namespaces' parameter. The request for 'Home' has found the following matching controllers: BaseAdminMVC.Areas.BaseAdmin.Controllers.HomeController BaseAdminMVC.Areas.TitomsAdmin.Controllers.HomeController 

Eu encontrei alguma fonte aqui: nome do controlador múltiplo
Mas acho que só funciona para uma área.
No meu caso, tenho dois projetos em diferentes áreas. Espero que alguém possa dizer o que devo fazer para resolver o problema.
Aqui está o arquivo Global.asax :

 public static void RegisterRoutes(RouteCollection routes) { string[] namespaces = new string[] { "BaseAdminMVC.Areas.BaseAdmin.Controllers", "BaseAdminMVC.Areas.TitomsAdmin.Controllers"}; routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional }, namespaces ); } 

By the way, eu também tenho controlador (” HomeController “) fora da pasta de Area . Isso apenas fornece links para dois projetos BaseAdmin e TitomsAdmin .

Eu tentei esta solução, mas ainda não funciona :

 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); routes.MapRoute( "BaseAdmin", "BaseAdmin/{controller}/{action}", new { controller = "Account", action = "Index" }, new string[] { "BaseAdminMVC.Areas.BaseAdmin.Controllers" } ); routes.MapRoute( "TitomsAdmin", "TitomsAdmin/{controller}/{action}", new { controller = "Home", action = "Index" }, new string[] { "BaseAdminMVC.Areas.TitomsAdmin.Controllers" } ); 

Desde já, obrigado!!

    Eu não sei o que acontece, mas esse código funciona bem:

     public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new string[] { "BaseAdminMVC.Areas.TitomsAdmin.Controllers" } ); } 

    Eu recebi este erro depois de fazer uma renomeação do namespace / assembly do meu projeto.

    Se você renomeou o Namespace / Assembly, talvez tenha um conjunto / dll remanescente do nome anterior na sua pasta bin. Basta apagá-lo de lá e deve funcionar.

    Clique com o botão direito do mouse no projeto e selecione Limpar o projeto. Ou então, esvazie completamente o diretório bin e recompile novamente. Isso deve limpar os conjuntos restantes