2014-11-19 8 views
3

Visual Studio 2013 Professional을 사용하여 새 프로젝트를 만듭니다.MVC 5 VB.NET의 영역이 작동하지 않습니다.

Visual Basic, Web, Web Application을 차례로 선택하십시오. MVC를 선택합니다. 인증 없음. 몹시 떠들어 대다.

그런 다음 "Test"라는 영역을 추가합니다. "Test"라는 컨트롤러와 "Index"라는 뷰.

나는 F5가, 프로젝트 빌드 및 실행 나에게주는 타격 HTTP 404

내가 웹 응용 프로그램을 만들 때 대신의 Visual Basic C 번호를 선택 제외하고 똑같은 (문자 그대로 동일한 단계를) 수행. 그리고 그것은 작동합니다.

예, AreaRegistration.RegisterAllAreas()가 호출되었습니다. 위에서 설명한 단계가있는 기본 새 프로젝트이지만 C# 버전은 작동하지 않습니다.

왜 이런가? 어떻게 해결할 수 있습니까?

Matches Current Request | Url | Defaults | Constraints | DataTokens 

False | __browserLink/requestData/{requestId} (null) (null) (null) 

True | Test/{controller}/{action}/{id} action = Index, id = UrlParameter.Optional (empty) Namespaces = WebApplication2.Areas.Test.*, area = Test, UseNamespaceFallback = False 

False | {resource}.axd/{*pathInfo} (null) (empty) (null) 

True | {controller}/{action}/{id} controller = Home, action = Index, id = UrlParameter.Optional (empty) (empty) 

True | {*catchall} (null) (null) (null) 

structure

+0

컨트롤러에 ActionResult를 정의 했습니까? ActionResult를 마우스 오른쪽 버튼으로 클릭하고 "Add View ..."를 클릭하면 어떻게됩니까? 어쩌면보기가있는 폴더 구조가 올바르지 않을 수 있습니다. –

+0

앞서 언급했듯이 "Test"라는 컨트롤러를 추가했습니다. 그것에서 "Index"ActionResult를 마우스 오른쪽 버튼으로 클릭하고 "Index"라는 뷰를 추가했습니다. VB.NET의 폴더 구조는 C# 버전과 정확히 동일합니다. 너 스스로 부탁해라. VS.NET 2013을 열고 내가하고보고 한 일을하십시오. – user3036342

+0

캐시 지우기를 시도 했습니까? – kaybee99

답변

0

감사입니다 : https://stackoverflow.com/a/25417592/3036342

그것은 강조, 기본적으로, VB.NET 분야가 컨트롤러는이 작업에 필요한 네임 스페이스를 자동으로 추가하지 않습니다. 추가 후 : Namespace Areas.Test.Controllers이 TestController에 적용되었습니다.

이렇게 어렵고 어리석은 경험을 해주신 마이크로 소프트에게 감사드립니다.

+0

그냥 어색하기 만합니다 ... 내 TestController.vb에있는 테스트 프로젝트를 확인했습니다. –

+0

@AdrianWragg 귀하의 경력이 정확히 무엇입니까? ReSharper가 AFAIK를 자동으로 수정한다는 것을 알고 있습니다. 그래서 그것이 존재하는지 여부를 묻는 것입니다. – user3036342

+0

No ReSharper, 그러나 MVC 5 스캐 폴딩이 설치되어 있습니다. VB 템플릿이 올바르지 않아 문제가 발생한 것 같아서 설치하면 문제가 해결 될 수 있습니다. –

0

그것은 C# 또는 VB.NET 중 하나와 함께 아무것도 할 일이있다 ... 나는 나의 클라이언트가 여기에 RouteDebugger의 말씀입니다 C#

편집하지, VB.NET에 필요 애플리케이션에 다른 컨트롤러가 없다고 추측 해보십시오. 당신이 TestController라는 컨트롤러가 기본 라우팅을 사용하여 누구 요하는 경우, 등록 된 유일한 가능한 경로는이 게시물에 대한 test/test

+0

C#가 작동합니다. VB.NET은 그렇지 않습니다. 그렇다면 어떻게 C#이나 VB.NET이 아니라 전체적으로 또 다른 문제가 될 수 있습니까? 직접 해보고 볼까요? – user3036342

+0

기본 웹 응용 프로그램입니다. 따라서 "HomeController"는 설치되는 부트 스트랩 MVC5 버전이므로 존재합니다. 나는 단지 지역을 추가한다. VB.NET 프로젝트 404, C# 프로젝트, 정확히 같은 방법으로 생성/단계, 작동합니다. 왜. – user3036342

+0

빈 MVC 프로젝트를 만들었다 고 가정했습니다 ... – Matze

관련 문제