Nice programing

보기는 WebViewPage 또는 WebViewPage에서 파생되어야합니다.

nicepro 2020. 10. 23. 18:55
반응형

보기는 WebViewPage 또는 WebViewPage에서 파생되어야합니다.


Justin Slattery의 플러그인 아키텍처 자습서를 따르고 있으며 WebForm Views 대신 Razor에 적용하려고합니다.

다른 모든 것 (컨트롤러, 플러그인 어셈블리 로딩 등)은 괜찮은 것 같습니다. 그러나 제대로 작동하도록 내장 된 Razor 뷰를 가져올 수 없습니다. "HelloWorld / Index"로 이동하려고하면 다음 오류가 발생합니다.

The view at '~/Plugins/MyProjectPlugin.dll/MyProjectPlugin.Views.HelloWorld.Index.cshtml' must derive from WebViewPage or WebViewPage<TModel>.

예외가 발생합니다. System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +262

필요한 경우 전체 스택 추적을 포함 할 수 있습니다.

아무도 내가 뭘 잘못하고 있는지에 대해 조언 할 수 있습니까?


Razor에 더 적합한 다음 블로그 게시물 을 확인할 수 있습니다 .

그러나 질문에 답하기 위해 이제 비표준 위치에서 뷰를 제공하고 있으므로 더 이상 ~/Views/web.config적용되는 파일 이 없으며 면도기 뷰의 기본 유형을 지정할 수 있습니다. 따라서 각 면도기보기 상단에 다음을 추가해야 할 수 있습니다.

@inherits System.Web.Mvc.WebViewPage
@model ...

참고 : 나는 매우 유사한 문제가 있었고 마침내 내가 그들의 솔루션에 연결된 MVC 4.0.0.0을 가진 유일한 개발자라는 것을 추적해야했습니다.

다른 모든 사람들은 3.0.0.0이 적절하게 참조되었고 오류없이 빌드 / 실행되었습니다.

TL; DR 참조가 나머지 개발 그룹과 동일한 지 확인하십시오.


면도기 라이브러리가 포함 된 패키지 폴더를 커밋하지 않았기 때문에 동일한 문제가 발생했습니다. 그런 다음 패키지를 추가했지만 작동했지만 다시 빌드하면 손상되었습니다. 그런 다음 빌드시 nuget 자동 실행을 끄고 이제 정상적으로 작동합니다. 제 경우에는 너겟이 일을 엉망으로 만들었습니다.


그냥 버전 4에 오래된 MVC3 프로젝트를 업데이트 할 때 오늘이 오류를 가지고 나를 위해이 솔루션은 속성 제거했다 appliesTo="v2.0.50727"<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">절을 참조하십시오.


내 고통을 공유하고 싶습니다. 사이트가 로컬에서 잘 작동했지만 고객의 IIS에 게시했을 때이 오류가 발생했습니다. 모든 web.config 파일 (루트 및 / Views)은 사이트의 작업 복사본과 완벽하게 일치했습니다.

보기 중 하나 (logon.cshtml)에 일관되지 않은 줄 끝이 있으며 Windows 컴퓨터에서 수정하기 위해 예를 클릭하지 않았습니다.

일치하지 않는 줄 끝 대화 상자에서 예를 클릭하고 logon.cshtml보기를 게시하면 문제가 해결되었습니다.


Views웹 API 프로젝트 에 MVC 스캐 폴딩 (특히 폴더)을 추가하려고 할 때이 오류가 발생 했습니다. Darin Dimitrov의 답변 은 다음과 같습니다.

더 이상 ~/Views/web.config적용되는 파일 이 없으며 면도기보기의 기본 유형을 지정할 수 있습니다.

그리고 그 대답에 대한 의견에서 joelnet은 다음 같이 말했습니다 .

이 문제를 해결하기 위해 ~ / Views에서 내 대체 위치로 web.config를 복사 할 수있었습니다.

그리고 바울 디부 Aoust는 말했다 :

@joelnet의 의견에있는 솔루션을 작동하는 데 문제가있는 경우 프로젝트를 정리하고 다시 빌드하십시오.

이러한 힌트는 제가 해결책을 찾는 데 도움이되었습니다.

우선은 복사 Web.config으로부터 Views나의 새로운 동일한 솔루션에 다른 프로젝트의 폴더 Views폴더. namespace새 프로젝트와 일치 하도록 기본 태그의 이름을 변경하고 오류가 발생한 후 <add namespace="..." />필요하지 않은 다른 태그를 제거했습니다 . 그런 다음 빌드를 트리거하고 (일반 빌드 만, 정리하고 다시 빌드 할 필요가 없음) 오류없이 새 뷰를로드 할 수있었습니다.


패키지 설치 : Install-Package Microsoft.AspNet.WebPages

참고 URL : https://stackoverflow.com/questions/8127462/the-view-must-derive-from-webviewpage-or-webviewpagetmodel

반응형