2013-11-22 2 views
8

나는 asp.net mvc를 처음 사용합니다. 오류 목록의 오류가있는 일부 면도기 코드에서 .cshtml 페이지에 불쾌한 작은 빨간색 밑줄이 표시되지만 프로젝트는 여전히 빌드됩니다. 이러한 오류가 발생하면 어떻게 든 프로젝트 빌드를 실패 할 수 있습니까?.cshtml 파일에 면도기/C# 오류가있을 경우 VS 2013에서 빌드가 실패하도록하려면 어떻게해야합니까?

면도기 페이지에서 참조하는 C# 클래스의 변수 이름을 바꾸면 리팩터링 도구가 도달 범위를 cshtml 파일로 확장하지 않는 이유는 무엇입니까?

답변

27

빌드하는 동안보기를 컴파일하려면 프로젝트를 설정해야합니다. 당신의 MVC 프로젝트에서

설정 :

<MvcBuildViews>true</MvcBuildViews> 

당신이해야 할 모든 언로드 또는 (VS 또는 메모장이나 좋아하는 편집기)를 .cspoj 파일을 편집, 비주얼 스튜디오에서 MVC 프로젝트를 닫습니다, <MvcBuildViews>을 찾아 값을 true으로 변경하십시오.

+0

http://stackoverflow.com/questions/383192/compile-views-in-asp-net-mvc –

+0

이 뛰어난이 작동합니다. –

+0

.csproj.user 파일에서이 값을 설정할 수 있습니까? – matrixugly

4

배포 프로세스 전에 릴리스 빌드를 사용한다고 가정하면 릴리스 빌드에만 MvcBuildViews 설정을 사용하는 것이 현명 할 수 있습니다. 이렇게하면 개발 및 디버깅 할 때보기를 컴파일하는 데 추가 대기 시간이 필요하지 않지만 배포하기 전에 검사를 계속 수행 할 수 있습니다. 릴리스 빌드에 대해서만 PropertyGroup 노드에 MvcBuildViews 노드를 추가하십시오. 그것은 다음과 같이 보일 것입니다 :

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'"> 
    <MvcBuildViews>true</MvcBuildViews> 
</PropertyGroup> 

http://blog.falafel.com/get-compile-time-view-errors-in-asp-net-mvc/

+0

실제로 다른 이유로이 작업을 수행해야했습니다. 빌더가 배포 모드에서 asp 컴파일러에서 존재하지 않는 오류가 발생했습니다. 따라서 MvcBuildViews는 릴리스 모드에서만 사용합니다. 이것은 어쨌든 커밋 할 때마다 확인됩니다. –

+0

여기에 대한 토론이 있습니다. http://stackoverflow.com/questions/28665470/why-wont-my-msbuild-deploy-work-after-i-check-precompile-during-publishing-on –

관련 문제