2013-03-19 4 views
0

.NET MVC 4를 .NET 4.5로 업그레이드하고 루트 컨트롤러가 작동하지만 MVC 영역의 컨트롤러가 404 오류.ASP.NET MVC 3에서 ASP.NET MVC 4로 업그레이드하면 404 오류가 발생합니다.

IIS 7 QFE 패치를 찾았지만 Windows 8에는 적용 할 수 없습니다. 중단 점을 설정하면 해당 영역이 성공적으로 등록 된 것을 볼 수 있으며 등록 완료 후에도 경로 수집에 처음 등록 된 4 개의 경로가 표시됩니다. 하나는 지역에 해당하는 경로입니다. 그러나 영역 URL에 대한 모든 요청은 404 오류로 떨어집니다.

답변

0

업그레이드 도중 문제가있는 모든 사람들을 위해이 답변을 남깁니다.

나는 ASP.NET MVC에 대해 컴파일 된 비즈니스 로직 라이브러리 (다른 .NET 클래스 라이브러리)을 가지고 3.

당신이 ASP.NET MVC 3에 대해 컴파일 된 다른 라이브러리에 대한 참조를 사용하는 경우 ASP.NET MVC 4 프로젝트를 사용하면 웹 서버에서 오류가 발생하지 않지만 대신 외부 라이브러리에 종속 된 컨트롤러를로드 할 수 없으므로로드 오류가 표시되는 대신 컨트롤러가 있다고 가정 할 때 단순히 404 오류가 발생합니다 찾을 수 없습니다.

MVC3에 대해 컴파일 된 외부 라이브러리에 종속되지 않으면 같은 영역에 정의 된 컨트롤러가 잘 작동합니다.

요약하면 "MVC3에 대해 컴파일 된 라이브러리의 유형에 따라 모든 컨트롤러가로드되지 않고 404 오류가 발생합니다".

이상적으로 오류가 발생 했어야합니다.

+0

실제로 말이됩니다. MVC4 응용 프로그램으로 실행 중일 때 영역을 등록하면 명명 규칙과 유형 상속에서 특정 규칙을 찾게 될 것이고, 관련이있는 경우 외부 프로젝트에서 해당 클래스를 상속받은 클래스가 없었습니다. MVC4 클래스는 찾고 있었으므로 어셈블리에 영역이 없으며 경로를 등록하지 않고 표준 404 메시지를 제공한다고 가정합니다. –

+0

내 영역이 외부 프로젝트에 없었습니다. 내 영역이 동일한 MVC4 웹 응용 프로그램에 있었지만 MVC3에 대해 컴파일 된 외부 프로젝트에 정의 된 일부 유형에서 파생 된 일부 컨트롤러 만 작동하지 않았습니다. 같은 영역에있는 다른 컨트롤러가 올바르게 작동했습니다. –

관련 문제