Sto riscontrando il seguente errore con il mio progetto ASP.NET MVC 3:
Sono stati trovati più tipi che corrispondono al controller denominato "Home". Ciò può accadere se il percorso che serve questa richiesta ("Home / {action} / {id}") non specifica gli spazi dei nomi per cercare un controller che corrisponde alla richiesta. In questo caso, registra questa route chiamando un overload del metodo "MapRoute" che accetta un parametro "namespaces".
La richiesta di "Home" ha trovato i seguenti controller corrispondenti: MyCompany.MyProject.WebMvc.Controllers.HomeController MyCompany.MyProject.WebMvc.Areas.Company.Controllers.HomeController
Ho un HomeController nella mia cartella del controller predefinito, con un nome di classe di MyCompany.MyProject.WebMvc.Controllers.HomeController.
Il mio metodo RegisterRoutes, nel mio global.asax, ha il seguente aspetto:
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 } // Parameter defaults
);
}
Quindi ho un'area chiamata Company, con un HomeController nella cartella del controller predefinito per l'area, con un nome di classe di MyCompany.MyProject.WebMvc.Areas.Company.Controllers.HomeController.
Il metodo RegisterArea nel file CompanyAreaRegistration ha il seguente aspetto:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Company_default",
"Company/{controller}/{action}/{id}",
new { area = "Company", action = "Index", id = UrlParameter.Optional }
);
}
Tutto questo porta all'errore che ho evidenziato all'inizio di questo post. Sto lottando cercando di mettere insieme una soluzione da vari altri post, senza FORTUNA .
È possibile avere un HomeController nella cartella dei controller di default e poi uno in OGNI area? In tal caso, devo apportare (supponendo che lo faccia) modifiche al mio file di configurazione per farlo funzionare?
Qualsiasi aiuto sarebbe molto apprezzato!