msbuild 작업이 뷰를 컴파일하기를 원하므로 컴파일 시간 오류가 있는지 확인할 수 있습니다 … 컴파일 시간. 어떤 아이디어?
답변
솔직히 RazorGenerator nuget 패키지를 추천합니다 . 이렇게하면 뷰 .designer.cs
를 저장할 때 생성 된 파일이 생성되고 뷰에 대한 컴파일 시간 오류가 발생하는 것 외에도 어셈블리로 사전 컴파일되어 (= 빠른 예열) Resharper가 추가 도움을 제공합니다.
이를 사용하려면 ASP.NET MVC 프로젝트에 RazorGenerator nuget 패키지를 포함시키고 Tools (도구) → Extensions and Updates (도구 → 확장 및 업데이트) 항목 아래에 ” Razor Generator “확장을 설치하십시오 .
우리는 이것을 사용 하며이 접근법으로 컴파일 당 오버 헤드는 훨씬 적습니다. 이 외에도 RedGate의 .NET Demon을 추천 하여 컴파일 시간 영향을 크게 줄입니다.
도움이 되었기를 바랍니다.
답변
RC1에 대한 readme 단어 doc에서 (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의 이전 릴리스로 작성된 프로젝트를 업데이트하여 뷰의 빌드 시간 유효성 검증을 포함 할 수 있습니다.
- 텍스트 편집기에서 프로젝트 파일을여십시오.
- 최상위 요소 아래에 다음 요소를 추가하십시오
<PropertyGroup>
.
<MvcBuildViews>true</MvcBuildViews>
- 프로젝트 파일의 끝에서
<Target Name="AfterBuild">
요소를 주석 해제 하고 다음과 일치하도록 수정하십시오.
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>
답변
이를 위해 aspnet_compiler 를 사용할 수 있습니다 .
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -v /Virtual/Application/Path/Or/Path/In/IIS/Metabase -p C:\Path\To\Your\WebProject -f -errorstack C:\Where\To\Put\Compiled\Site
여기서 ” / Virtual / Application / Path / Or / Path / In / IIS / Metabase “는 ” / MyApp “또는 ” / lm / w3svc2 / 1 / root / “와 같습니다.
또한 MSDN 에는 AspNetCompiler Task 가 있으며 aspnet_compiler를 MSBuild와 통합하는 방법을 보여줍니다.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="PrecompileWeb">
<AspNetCompiler
VirtualPath="/MyWebSite"
PhysicalPath="c:\inetpub\wwwroot\MyWebSite\"
TargetPath="c:\precompiledweb\MyWebSite\"
Force="true"
Debug="true"
/>
</Target>
</Project>
답변
또한 Resharper를 사용하면 솔루션 전체 분석을 활성화 할 수 있으며 aspx 파일에있을 수있는 컴파일러 오류를 감지합니다. 그것이 우리가하는 일입니다 …
답변
답변
여기에 주어진 대답은 일부 MVC 버전에서는 작동하지만 다른 MVC 버전에서는 작동하지 않습니다.
간단한 솔루션은 MVC1에서 작동했지만 MVC2로 업그레이드 할 때 더 이상 뷰가 컴파일되지 않았습니다. 이것은 웹 사이트 프로젝트 파일의 버그로 인한 것입니다. 이 Haacked 기사를 참조하십시오.
이것을 참조하십시오 : http://haacked.com/archive/2011/05/09/compiling-mvc-views-in-a-build-environment.aspx
답변
빌드> 코드 분석 실행
핫키 : Alt+F11
면도기 오류를 포착하는 데 도움이되었습니다.