2012-03-23 3 views
1

MVC 터빈과 함께 실행될 프로젝트를 설정 중이며 IRouteRegistrators를 호출하는 데 문제가 있습니다. 내 팀원 중 한 사람이 과거에이 문제를 겪었지만 문제를 해결하기 위해해야 ​​할 일을 기억하지 못합니다.MVC 터빈 경로가 등록되지 않았습니다.

설정을위한 코드는 일시적으로 모두 해결 될 때까지 Global.asax.cs 파일에 있습니다. 사용하고있는 코드는 내가 본 모든 튜토리얼과 유사하지만 어쨌든 아래에 포함되어 있습니다.

public class MvcApplication : TurbineApplication 
    { 
     static MvcApplication() 
     { 
     ServiceLocatorManager.SetLocatorProvider (() => new StructureMapServiceLocator()); 
     } 

     protected void Application_Start() 
     { 
     DeployDbMigrations(); 
     } 

     private void DeployDbMigrations() 
     { 
     ... 
     } 
    } 

    public class RouteRegistration : IRouteRegistrator 
    { 
     public void Register (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 
     ); 

     } 
    } 

는 내가 말한 것처럼, IRouteRegistrator가 호출되지 않는, 그래서 홈 페이지에 갈 때, 나는 적절한 컨트롤러와 뷰가 설정 되더라도, 404을 얻을 것이다.

귀찮은 점은 현재 솔루션 밖에서 유사한 프로젝트를 만들 수 있다는 것이며 작동하지만 솔루션에서는 작동하지 않습니다. (비록 내가 작업 프로젝트를 솔루션에 붙여 넣기를 시도했지만 효과가 있었지만, 더 이상 선택 사항이 아니었다. 다른 사람이 웹 프로젝트에 대해 더 많은 작업을 수행했기 때문에 선택하지 않았다.)

과거에이 문제가 발생했거나 해결 방법을 알고있는 사람이 있습니까?

답변

1

프로젝트에서 생성 한 어셈블리의 이름을 확인하십시오. MVCTurbine은 등록을 찾을 때 이름으로 일부 어셈블리를 필터링합니다. 어셈블리의 이름에 다음 중 하나가 포함되어 있으면 경로를 확인하지 않습니다.

  • 시스템
  • System.Web
  • mscorlib에
  • MvcTurbine,
  • MvcTurbine.Web,
  • 경우 Webdev
  • CppCodeProvider

문제를 해결한다 조립체 바꾸기 .

관련 문제