.Net

aspnet_compiler 명령 도움말

Ad


aspnet_comiler 명령은 ASP.NET 응용 프로그램을 미리 컴파일하는 유틸리티입니다.

.aspx, .ascx, .master 등의 리소스는 웹서버로 요청이 오면 동적으로 컴파일되어 클라이언트로 서비스됩니다.

이 동작에서 웹서버의 부하를 줄 수 있으므로 해당 리소스들을 미리 컴파일할 때, aspnet_compiler 명령이 사용됩니다.

실행파일은 .Net Framework 2.0, .Net Framework 4.0 설치 디렉터리에 있습니다.

  • %windir%\Microsoft.NET\Framework\v2.0.x\
  • %windir%\Microsoft.NET\Framework\v4.0.x\
  • %windir%\Microsoft.NET\Framework64\v2.0.x\
  • %windir%\Microsoft.NET\Framework64\v4.0.x\
Microsoft (R) ASP.NET Compilation Tool 버전 4.0.30319.33440
ASP.NET 응용 프로그램을 미리 컴파일하는 유틸리티입니다.
Copyright (C) Microsoft Corporation. All rights reserved.

사용법:
aspnet_compiler [-?] [-m metabasePath | -v virtualPath [-p physicalDir]]
                [[-u] [-f] [-d] [-fixednames] targetDir] [-c]
                [-x excludeVirtualPath [...]]
                [[-keyfile file | -keycontainer container]
                     [-aptca] [-delaySign]]
                [-errorstack]

-?            이 도움말 텍스트를 인쇄합니다.
-m            응용 프로그램의 전체 IIS 메타베이스 경로입니다. 이 스위치는 -v 또는 -p 스위치와 함께 사용할 수 없습니다.
-v            컴파일할 응용 프로그램의 가상 경로입니다(예: "/MyApp"). -p를 지정하면 응용 프로그램을 찾는 데 실제
              경로가 사용됩니다. 이 스위치를 지정하지 않으면 IIS 메타베이스가 사용되고 응용 프로그램이 기본
              사이트("/LM/W3SVC/1/Root")에 있다고 간주됩니다. 이 스위치는 -m 스위치와 함께 사용할 수 없습니다.
-p            컴파일할 응용 프로그램의 실제 경로입니다. -p가 없으면 IIS 메타베이스를 사용하여 응용 프로그램을 찾습니다. 이
              스위치는 -v와 함께 사용해야 합니다.
-u            이 옵션을 지정하면 미리 컴파일된 응용 프로그램을 업데이트할 수 있습니다.
-f            대상 디렉터리가 이미 있으면 덮어씁니다. 기존 내용이 손실됩니다.
-d            이 옵션을 지정하면 컴파일하는 동안 디버그 정보를 내보냅니다.
targetDir     응용 프로그램을 컴파일할 실제 경로입니다. 경로를 지정하지 않으면 동일한 위치에 응용 프로그램이 미리 컴파일됩니다.
-c            이 옵션을 지정하면 미리 컴파일된 응용 프로그램 전체가 다시 빌드되고 이전에 컴파일된 구성 요소가 다시 컴파일됩니다.
              이 옵션은 targetDir를 지정한 경우 항상 사용하도록 설정됩니다.
-x            미리 컴파일에서 제외해야 하는 디렉터리의 가상 경로입니다. 이 스위치는 여러 번 사용할 수 있습니다.
-keyfile      강력한 이름의 키 파일의 실제 경로입니다.
-keycontainer 강력한 이름의 키 컨테이너를 지정합니다.
-aptca        이 옵션을 지정하면 강력한 이름의 어셈블리에서 부분적으로 신뢰할 수 있는 호출자를 사용할 수 있습니다.
-delaysign    이 옵션을 지정하면 어셈블리를 만들 때 완전히 서명되지 않습니다. 
-fixednames   이 옵션을 지정하면 컴파일된 어셈블리에 고정 이름이 지정됩니다.
-nologo       컴파일러 저작권 메시지를 표시하지 않습니다.
-errorstack   특정 조건을 디버깅하는 데 도움이 되는 추가 디버깅 정보를 표시합니다.

예:

다음 두 명령은 동일하며 IIS 메타베이스에 의존합니다. 컴파일된 응용 프로그램은 c:\MyTarget에 배포됩니다.
    aspnet_compiler -m /LM/W3SVC/1/Root/MyApp c:\MyTarget
    aspnet_compiler -v /MyApp c:\MyTarget

다음 명령은 /MyApp 응용 프로그램을 동일한 위치에 컴파일합니다. 이렇게 하면 HTTP 요청이 전송될 때 추가 컴파일 작업이 필요하지
않습니다.
    aspnet_compiler -v /MyApp

다음 명령은 명시적으로 응용 프로그램의 실제 소스 디렉터리를 지정하므로 IIS 메타베이스에 의존하지 *않습니다*.
    aspnet_compiler -v /MyApp -p c:\myapp c:\MyTarget