У мене виникає така помилка з моїм проектом ASP.NET MVC 3:
Було знайдено декілька типів, які відповідають контролеру з назвою "Дім". Це може статися, якщо в маршруті, який обслуговує цей запит ('Головна / {дія} / {ідентифікатор'), не вказані простори імен для пошуку контролера, який відповідає запиту. Якщо це так, зареєструйте цей маршрут, викликавши перевантаження методу 'MapRoute', який приймає параметр 'простори імен'.
Запит на "Домашня сторінка" знайшов такі відповідні контролери: MyCompany.MyProject.WebMvc.Controllers.HomeController MyCompany.MyProject.WebMvc.Areas.Company.Controllers.HomeController
У мене в папці контролера за замовчуванням є HomeController з назвою класу MyCompany.MyProject.WebMvc.Controllers.HomeController.
Мій метод RegisterRoutes у моєму global.asax виглядає так:
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
);
}
Потім у мене є область під назвою Company, із HomeController у папці контролера за замовчуванням для цієї області, з назвою класу MyCompany.MyProject.WebMvc.Areas.Company.Controllers.HomeController.
Метод RegisterArea у файлі CompanyAreaRegistration виглядає так:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Company_default",
"Company/{controller}/{action}/{id}",
new { area = "Company", action = "Index", id = UrlParameter.Optional }
);
}
Це все призводить до помилки, яку я виділив на початку цього допису. Я з усіх сил намагаюся зібрати рішення з різних інших постів, БЕЗ ВДАЧИ .
Чи можна мати HomeController у папці контролерів за замовчуванням, а потім у КОЖНОМУ? Якщо так, чи потрібно мені вносити зміни (якщо я це роблю) до свого конфігураційного файлу, щоб зробити це?
Будь-яка допомога буде дуже вдячна!