2011-03-07 3 views
6

이미 한 위치에서 다른 위치로 컴파일 된 프로젝트를 이동하려면 aspnet_compiler를 사용하려고합니다. 개정 관리를 위해 Subversion을 사용하고 있습니다.aspnet_compiler를 사용하여 제외 된 파일을 어떻게 처리합니까?

프로세스는 기본적으로 모든 코드를 서브 버전에서 가져오고 빌드 한 다음 aspnet_compiler를 호출합니다.

제외 된 ascx 파일이있을 때 내 문제가 발생합니다. 이 파일은 최신 코드의 일부이지만 일반 빌드 컴파일러는이를 무시하므로 아무 문제가 없습니다. 그러나 Aspnet_compiler는 특정 컨트롤에 대한 코드를 찾을 수 없기 때문에 폭발적입니다.

은 내가이 권리를하고 있어요

  • 있는지 확실하지 않습니다;
  • Subversion에서 올바른 파일 트리를 가져 오는 방법이 있습니다.
  • 쉬운 방법이 있습니다. 또는
  • 이 예상되며 매번 제외 된 파일을 삭제해야합니다.

어떤 도움을 주셔서 감사합니다.

+0

ASCX 컨트롤이 더 이상 필요하지 않으면 삭제하지 않으시겠습니까? Subversion을 사용하면 이전 버전을 통해 파일에 계속 액세스 할 수 있습니다. –

+0

솔루션에서 삭제했지만 Subversion을 사용하여 프로젝트를 가져 오면 사용되지 않은 파일을 포함하여 모든 파일이 생성됩니다. –

답변

3

이 예상된다 Aspnet_compiler.exe이 응용 프로그램의 모든 파일을 컴파일하고 프로젝트 파일에 보이지 않는다. 따라서, 제외 된 파일에 대한 개념이 없습니다.

Babak Naffas는 파일을 삭제할 때마다 매번 파일을 수동으로 삭제 (또는 삭제 스크립팅)하는 대신 파일을 처리하는 것이 가장 쉽습니다.

6

.NET 4.5 또는 4.5.1 이후 (확실하지 않음) 컴파일에서 디렉토리를 제외 할 수있는 aspnet_compiler.exe에 -x 옵션이 추가되었습니다. "aspnet_compiler /?"명령을 통해 옵션을 찾을 수 있습니다.

-x   The virtual path of a directory that should be excluded from precompilation. 
This switch can be used multiple times. 

예 :

내 웹 사이트에 "ToBeExcluded"라는 이름의 폴더가 있습니다. 나는

aspnet_compiler -v /foo -p "C:\MyWebsite" -x ToBeExcluded "c:\temp\web" 
+0

포인터 주셔서 감사. 그것은 나에게 유용했다. – Samuel

1

내가 너무 오래이 함께 고민하고, 웹 사이트를 미리 컴파일하고 해당 폴더를 제외하려면 다음 명령을 사용할 수 있습니다. 그러나 마침내 해결 방법을 찾았습니다

attrib +h folderToExclude & runAspComplierWithAllOptions & attrib -h folderToExclude 

숨기기 폴더 -> 컴파일 -> 쇼 폴더.

관련 문제