asp.net - 구조 - mvc5 란




ASP.NET MVC에서 뷰 컴파일 (6)

ASP.NET MVC (1 월 정도 사용 가능)의 다음 릴리스에는보기를 컴파일하는 MSBuild 작업이 있어야하므로 기다려야 할 수 있습니다.

announcement 보기

좋은 시간에 컴파일 시간 오류가 있는지 볼 수 있도록 뷰를 컴파일하는 msbuild 작업을 원합니다 ... 컴파일 시간. 어떤 아이디어?


Visual Studio의 Productivity Power Tools ( 무료 ) 확장 을 사용하면 약간의 도움이됩니다 . 특히 Solution Error Visualizer 기능. 이를 사용하여 컴파일 오류가 솔루션 탐색기 (오류가 발견 된 소스 파일에서)에 시각적으로 표시됩니다. 그러나 어떤 이유로이 기능은 코드 내의 다른 곳에서는 사용되지 않습니다.

MVC 뷰를 사용하면 컴파일 타임 오류는 여전히 각각의 .cs 파일에서 밑줄이 그어 지지만 이러한 오류를 알리는 신호는 솔루션 탐색기에서 위쪽으로 전파되지 않습니다 (절대로 포함 소스 파일이 아닐 경우).

이전의 성명을 수정 해 BlueClouds 에게 감사드립니다.

확장 기능의 github 프로젝트에서이 issue 를 방금보고했습니다.


빌드> 코드 분석 실행

바로 가기 키 : Alt + F11

면도기 오류를 잡는 데 도움이되었습니다.


여기에 주어진 대답은 일부 MVC 버전에서는 작동하지만 다른 버전에서는 작동하지 않습니다.

간단한 솔루션은 MVC1에서 작동했지만 MVC2로 업그레이드하면 더 이상 문제가 해결되지 않았습니다. 이것은 웹 사이트 프로젝트 파일의 버그 때문이었습니다. Haacked 기사를 참조하십시오.

이것을보십시오 : http://haacked.com/archive/2011/05/09/compiling-mvc-views-in-a-build-environment.aspx


readme word doc에서 RC1 (Google에서 색인 생성하지 않음)

ASP.NET 컴파일러 사후 구축 단계

현재 뷰 파일 내의 오류는 런타임까지 발견되지 않습니다. 컴파일시 이러한 오류를 감지 할 수 있도록 ASP.NET MVC 프로젝트에는 기본적으로 비활성화 된 MvcBuildViews 속성이 포함되어 있습니다. 이 속성을 활성화하려면 다음 예제와 같이 프로젝트 파일을 열고 MvcBuildViews 속성을 true로 설정합니다.

<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <MvcBuildViews>true</MvcBuildViews>
  </PropertyGroup>

참고이 기능을 사용하면 빌드 시간에 약간의 오버 헤드가 추가됩니다.

다음 단계를 수행하여 뷰의 빌드 타임 유효성 검사를 포함하도록 이전 릴리스의 MVC로 만든 프로젝트를 업데이트 할 수 있습니다.

  1. 텍스트 편집기에서 프로젝트 파일을 엽니 다.
  2. 최상위 <PropertyGroup> 요소 아래에 다음 요소를 추가하십시오. <MvcBuildViews>true</MvcBuildViews>
  3. 프로젝트 파일의 끝에서 <Target Name="AfterBuild"> 요소의 주석 처리를 제거하고 다음과 일치하도록 수정하십시오.
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>

솔직히 RazorGenerator Nuget 패키지를 권하고 싶습니다. 이렇게하면보기를 저장할 때 생성 된 .designer.cs 파일이 있고보기에 대해 컴파일 시간 오류가 발생하는 대신 어셈블리에 미리 컴파일되어 (빠른 워밍업) Resharper는 몇 가지 추가 도움말을 제공합니다.

이것을 사용하려면 ASP.NET MVC 프로젝트의 RazorGenerator Nuget 패키지를 포함하고 Tools → Extensions and Updates 항목 아래에 " Razor Generator "확장을 설치하십시오.

이 방법을 사용하면 컴파일 당 오버 헤드가 훨씬 적습니다. 이 기사에서 RedGate의 .NET 악마 (.NET Demon)를 사용 하면 컴파일 시간에 미치는 영향을 크게 줄일 수 있습니다.

희망이 도움이됩니다.





msbuild