2010-08-18 7 views
4

기존 ASP.net MVC 2 웹 응용 프로그램을 MVC 3으로 업그레이드하려고 했으므로 Razor Viewengine과 다른 said 기능을 사용할 수 있습니다.보기로 MVC 2를 MVC 3으로 업그레이드

변환 도구를 사용하여 내 응용 프로그램을 mvc2에서 mvc3으로 변환 한 후 강력하게 형식화 된보기에 문제가 있습니다. 여기에 예를 들어 우리는 강력하게 컴파일시 클래스 프로필

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Profile>" %> 

에 입력 된 뷰 사용자 컨트롤 내가 갖는이

내보기에이 라인에 해당
Compiler Error Message: CS1061: 'object' does not contain a definition for 'folio' and no extension method 'folio' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?) 

alt text

보기가 더 이상 유형을 허용하지 않는 것과 같습니다. 이것은 전체보기뿐만 아니라 사용자 정의 컨트롤에서도 발생합니다.

는 System.Web.Mvc의 버전 3.0.0.0

어떤 도움을 주시면 감사하겠습니다을 참조 할 나는 Web.config의 및보기/Web.config를 모두 확인했지만 모두가 보인다!

는 web.configs

alt text

alt text

alt text

+0

정확히, Views \ Web.config도 업데이트해야 문제가 해결되었습니다. 감사합니다! –

답변

4

의 화면 캡처 아래를 참조 오프 기회에 변경하려고 당신의 bindingRedirect

<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" /> 
+0

이것은 도움이되지 않았지만 새로운 mvc 3 프로젝트가 1.0에서 2.0 및 2.0에서 3.0에 대한 double dependentAssembly 항목 대신 이것을 사용한다는 점에 동의합니다. –

+0

그래, 내가 버그라고 몰랐을 것 같은데 ... 내 구성과 본인의 유일한 실제 차이점이었습니다. – Buildstarted

7

이것은 MVC 3 미리보기 1의 버그이며 다음 릴리스에서 해결 될 예정입니다. 그 사이에 < % @ Control %> 지시문이 파일의 마지막 부분이며 페이지가 문제가 될 수 있도록 페이지를 재정렬 할 수 있습니다.

+0

이렇게하면 사용하기 어려운 미리보기로 보이게됩니다. 마치 Intellisense가 더 이상 본래의 관점에서 손상되지 않은 것처럼 보입니다. –

+0

@ Phil, Brad가 제안한 해결 방법으로 시나리오에 대한 미리보기를 사용할 수 있어야합니다. 불편을 끼쳐 드린 것에 대해 죄송합니다! – Eilon

+0

그래서 아래쪽으로 이동하면 일부 페이지가 고쳐졌지만 다른 것들은 System.IO.MemoryStream .....에 던져지는 null 예외가 될 수없는 버퍼를 가지고있었습니다. 심지어 개발 IMHO에도 준비가되지 않았습니다. 나는 백개의 전망 및 통제가 있고 그것은 100 % 년 신뢰할 만하더라도 지시 선을 아래로 이동하는 악몽 일 것입니다 –

5

내가 제안한 마이 그 레이션과 그것이 나를 위해 일했던 것처럼 간단하게 'Views'폴더 (새로 만든 mvc3 프로젝트의 하나)와 web.config를 교체했습니다. 프로젝트가 너무 컸기 때문에 모든 선언을 아래쪽으로 옮길 준비가되지 않았습니다.

호프가 도움이 되었기를 바랍니다. 너무 늦기를 바랍니다. 어쩌면 그것은 다른 사람들을 도울 것입니다 ...

+0

예, 버그가 수정되어 이제 작동합니다. –

+0

+1 그 덕택으로 해결되었습니다. 감사! –

+0

이것은 받아 들여진 대답 일 것입니다, 감사합니다 – BeardinaSuit

0

나는 똑같은 문제를 가지고 있었고, 머리카락을 조금 뽑은 후에 발견하여 위안의 해결책을 따랐습니다. 완벽하게 일했으며 사이트가 백업되었습니다.

재미 있은 이 변경 사항을 우리의 개발 상자에 넣지 않아도 사이트가 손상되지 않았습니다. 서핑 한 준비 서버로 옮길 때만이었습니다.

0

프로젝트가 MVC4를 기반으로하거나 Framwork 4를 이미 사용하는 경우 mvc4 빈 프로젝트를 만듭니다. 그리고 views 폴더에서 web.config를 교체하십시오. 즉시 작동합니다. 고마워요, 위안. 나는 aspx 대신 면도칼을 사용하는 오래된 앱을 가지고 있기 때문에. 프레임 워크 3을 4로 업그레이드 한 후에이 오류가 발생했습니다.

관련 문제