내 ASP.NET MVC 3 프로젝트에서 다음 오류가 발생합니다.
'Home'이라는 컨트롤러와 일치하는 여러 유형이 발견되었습니다. 이 요청을 서비스하는 경로 ( 'Home / {action} / {id}')가 요청과 일치하는 컨트롤러를 검색하기위한 네임 스페이스를 지정하지 않는 경우에 발생할 수 있습니다. 이 경우 'namespaces'매개 변수를 사용하는 'MapRoute'메소드의 오버로드를 호출하여이 경로를 등록하십시오.
'Home'에 대한 요청에서 일치하는 컨트롤러 MyCompany.MyProject.WebMvc.Controllers.HomeController MyCompany.MyProject.WebMvc.Areas.Company.Controllers.HomeController를 찾았습니다.
기본 컨트롤러 폴더에 클래스 이름이 MyCompany.MyProject.WebMvc.Controllers.HomeController 인 HomeController가 있습니다.
내 global.asax의 RegisterRoutes 메서드는 다음과 같습니다.
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입니다.
CompanyAreaRegistration 파일의 RegisterArea 메서드는 다음과 같습니다.
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Company_default",
"Company/{controller}/{action}/{id}",
new { area = "Company", action = "Index", id = UrlParameter.Optional }
);
}
이 모든 것이이 게시물의 시작 부분에서 강조한 오류의 원인입니다. 나는 운이없는 다양한 다른 게시물의 솔루션을 모 으려고 고군분투하고 있습니다.
기본 컨트롤러 폴더에 HomeController가 있고 각 영역에 하나가있을 수 있습니까? 그렇다면이 작업을 수행하려면 내 구성 파일을 변경해야합니까?
어떤 도움이라도 대단히 감사하겠습니다!