2012-11-02 4 views
1

ASP.NET MVC3에서 MVC4로 업그레이드 한 이후로 문제가 발생했습니다. 응용 프로그램은 컨트롤러와 뷰가 주 프로젝트가 참조하는 dll에 임베드되어 있으며 솔루션은 요청 된 뷰가 dll에 있는지 확인한 후 반환하는 표준 VirtualPathProvider를 사용합니다.VirtualPathProvider를 사용하는 ASP.NET MVC4 레이아웃 페이지

MVC4로 업그레이드 한 후 레이아웃 페이지에 대한 요청이 더 이상 VirtualPathProvider를 통과하지 않아 전체 응용 프로그램이 중단됩니다. 부분 뷰를 포함한 다른 모든 뷰는 올바르게 처리되고 어셈블리에서로드됩니다.

MVC4로 업그레이드 한 후 다른 유사한 문제가 발생 했습니까?

답변

0

나는 당신의 오류 메시지를 보지 않고 좋은 추측을 할 것입니다. 프로젝트의 모든 web.config 파일을 찾고 최신 버전의 MVC 4를 참조하십시오.

+0

모든 구성 파일을 검토하고 모든 내용을 업데이트했으며 모든 참조를 NuGet으로 업데이트했습니다. 다른 모든 것은 완벽하게 작동합니다. 레이아웃 페이지가 MVC3의 VirtualPathProvider를 통과하지 않는 것만 다릅니다. –

+0

보기 폴더에서도 web.config 파일을 확인 했습니까? 모든 어셈블리는 동일한 버전을 참조해야합니다. 빠른 테스트로이 작업을 시도해 볼 수 있습니다. 프로젝트를 백업하고 루트가 아닌 모든 web.config 파일을 반복적으로 삭제하고 똑같은 MVC dll을 사용해야합니다 (정확한 위치에서 말입니다). 완전히 깨끗하게하고 프로젝트를 재건하십시오. .NET 4.5를주의하십시오. 어셈블리 바인딩은 신비한 것입니다. 매우 명료해야 할 수도 있습니다. 오류가 계속 발생하면 여기에 게시하십시오. –

+0

앞서 언급 한 제안 외에도 빌드 후 단계에서 컴파일 된보기를 설정하십시오. 보기가 경로 오류를 일으킬 수있는 오류를 표시합니다 : http://stackoverflow.com/questions/383192/compile-views-in-asp-net-mvc 이것은 컴파일 검사 일 뿐이며, 이진 빌드가 아닙니다. –