2014-07-13 2 views
0

인덱스 페이지 경로를 설정하려고합니다. T4MVC MapRoute가 작동하지 않습니까?

routes.MapRoute("", "", MVC.Home.Index()); 

어떻게 든 그것은 (나는 "리소스를 찾을 수 없습니다"오류가) 작동하지 않습니다 : 그것은이 방법으로 작동합니다

routes.MapRoute("", "", new {controller = "Home", action = "Index"}) 

을하지만 T4MVC로 교체합니다. 내가 그걸 수백만 번 해본 것처럼 보였어. 그래서 내가 뭘 잘못하고 있니?

업데이트.

Route Debugger를 사용하여 ASP.NET MVC 경로와 T4MVC 경로의 차이점은 T4MVC가 Area = ""를 추가하는 반면 ASP.NET MVC는 컨트롤러와 동작 만 유지한다는 점입니다. .

MVC.Home.Index() GetT4MVCResult를 (:

답변

0

문제는 어셈블리 바인딩의 일부 문제로 인해 발생했습니다. VS에서 Warnings를 살펴본 결과, 어셈블리 바인딩에 대한 경고가 두 번 눌 렸고 해결되었습니다. 이 질문은 내게 많은 도움이되었습니다. T4MVC ArgumentOutOfRangeException in View

0

당신이 행동과 컨트롤러의 이름을 얻으려면 MVC.Home.Index()를 ActionResult

을 반환 통지하십시오, 당신은 작성해야 ..) .Controller - 컨트롤러 MVC.Home.Index()의 이름 GetT4MVCResult() 액션 - 액션의 이름

편집 :

routes.MapRoute("", "", new {controller = MVC.Home.Index().GetT4MVCResult().Controller, action = MVC.Home.Index().GetT4MVCResult().Action}) 
+0

왜 "좋지 않은가". 컨트롤러 또는 액션의 이름을 변경하면 어떻게됩니까? – SiberianGuy

+0

지역과 관련된 문제의 예를 찾을 수 없지만 어디서나 시도 할 수 있습니다. (아마 mvc 3 정도 였고, mvc 4와 5에서는 이미 고정되어 있습니다) –

+2

관련 토론은 https://mvccontrib.codeplex.com/workitem/7154를 참조하십시오. –

1

업데이트 (2014 년 7 월 15 일) : 임시 해결책으로, 프로젝트에 더미 영역을 추가해야한다고 생각합니다.

  • 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 추가/영역을 선택하십시오. 당신은 파일 DummyAreaRegistration.cs를 제외하고 거기에 모든 것을 삭제할 수 있습니다
  • (무엇이든 또는)이 '더미'를 이름

원래 답 :

당신이 당신의 MapRoute 전화에 '정의로 이동'하는 경우 실제로 T4MVC 과부하 상태인지 확인할 수 있습니까? 지역에있는 경우 MapRouteArea (으)로 전화해야합니다.

+0

T4Extensions.cs로 이동하고 영역을 사용하지 않습니다. – SiberianGuy

+0

자세한 내용을 포함하는 업데이트가 추가되었습니다. – SiberianGuy

+0

확인을 누르면 업데이트 된 답변을 볼 수 있습니다. –