왜 IIS Development Server가 VS 2008에서 내 WebApp을 빌드 할 때마다 모든 웹 응용 프로그램을 다시 컴파일 하는가?

StackOverflow https://stackoverflow.com/questions/374024

문제

웹 응용 프로그램 프로젝트 (웹 사이트가 아님)가 있습니다. Web.Config 웹 개발 서버에 Batch = "False"를 추가 한 날까지 요청 된 페이지 대신 모든 웹 응용 프로그램을 컴파일하고 있습니다.

<compilation debug="true" batch="false">
      <assemblies>
        ...
      </assemblies>
</compilation>

이것은 우리를 더 빨리 만듭니다. 그러나 나는 무엇이 바뀌 었는지 모르겠습니다 (Foo.cproj와 web.config를 리포지토리에서 검사하여 이전 버전을 비교했지만이 속도가 느려질 수는 없습니다).

%temp %/temp.net 파일을 보았습니다. 웹 앱을 컴파일 한 후 (Recompile, Shift + F6) 페이지를 요청하면 웹 서버가 이미 컴파일 된 모든 파일을 %temp %/temporary asp.net 파일에서 삭제하고 재생성하는 것을 볼 수 있습니다. 이것이 정상인지는 모르겠지만 모든 웹 앱을 완전히 재 컴파일하는 것처럼 보였습니다. (나는 프로세스 탐색기를 통해 wevdev.wevserver.exe를 통해 csc.exe를 여러 번 호출했습니다)

어떻게 편집을 더 빨리 만들 수 있습니까? 감사...

도움이 되었습니까?

해결책

32 비트 버전의 Net CLR에서 사용할 수있는 'ENABLE EDIT 및 CONTOUNT'라는 ASP.NET Development Server에 대한 옵션이 있습니다. Visual Studio에서 끄십시오.

또한 'x86'의 빌드에서 '모든 CPU'의 빌드를 변경해보십시오. 그것은 편집을 더 빨리 만들어야합니다.

다른 팁

나는 이것이 웹 응용 프로그램 프로젝트를 사용하는 것의 일부라고 생각합니다. 응용 프로그램을 구축 할 때마다 전체 사이트가 다시 컴파일됩니다. '웹 사이트'와 달리 웹 응용 프로그램은 모두 단일 DLL (Plus References)으로 컴파일됩니다.

당신이 조심해야 할 또 다른 것은 루트 웹 앱 폴더 아래에서 파일/폴더를 삭제할 때마다 다시 컴파일을 강제하는 것입니다.

더하기 측면에서 첫 번째 컴파일을 극복하면 방문되지 않은 페이지에서 컴파일 시간을 추가로 기다리는 것이 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top