다음을 통해 공유


속성 목록 및 속성

선택적 속성 목록 섹션에서는 나중에 구성 파일에 사용할 수도 있는 변수(벣憺틪이라고 함)를 정의하고 할당할 수 있습니다. 이 절에 정의된 속성 정의를 벓뻠? 속성이라고 합니다.

<!-- define expandable properties -->
<!-- optional -->
<propertylist>
 <property name="projectname" value="myproject"/>
 <property name="projectdir" value="c:\myprojects"/>
</propertylist>

이 섹션에서 정의하지 않고 구성 파일에서 변수(벣憺?참조?를 사용할 수도 있습니다. 예를 들어, 명령줄에서 정의하거나 환경에서 가져올 수도 있습니다.

속성은 속성과 연관된 값을 찾는 다음과 같은 알고리즘을 사용하여 문자열 대체를 통해 작동합니다.

  1. 외부 속성 목록에서 값을 확인합니다.
  2. 값이 없으면 속성과 동일한 이름의 환경 변수를 찾습니다.
  3. 환경 변수도 없으면 구성 파일의 propertylist 섹션에서 내부 정의를 찾습니다.
  4. 내부 정의도 없는 경우에는 빈 문자열을 값으로 사용합니다.

외부 속성은 명령줄에서 –p 옵션을 사용하여 전달됩니다. 다음 세 가지 외부 속성이 기본적으로 제공됩니다.

  • Dotfuscator의 설치 디렉터리를 나타내는 밶pplicationdir?/li>
  • Dotfuscator의 로컬 데이터 디렉터리를 나타내는 밶ppdatadir?/li>
  • 구성 파일이 있는 디렉터리를 나타내는 밹onfigdir?/li>

속성은 여러 프로젝트나 동일한 프로젝트의 여러 버전에서 또는 다른 빌드 환경들 간에 쉽게 이동할 수 있도록 템플릿 역할을 하는 구성 파일을 만들 때 유용합니다.

속성은 다음 구문으로 참조됩니다.

${property_name}

속성 참조는 대/소문자를 구분하므로 ${MyProjectDir}${myprojectdir}는 다른 속성을 참조합니다.

구성 파일 어디에서든 속성 참조를 사용할 수 있는 것은 아닙니다. 현재, 속성 참조는 <file> 요소의 밺ir?또는 뱊ame?특성 값으로만 사용할 수 있습니다. 다음은 <file> 요소를 사용하는 섹션입니다.

inputassembly mapinput mapoutput
output tempdir assembly
removalreport transform key
loadpaths program filelist

구성 파일의 다른 위치에서는 속성 참조가 문자 그대로 해석됩니다.

속성 참조는 중첩될 수 없습니다. 속성 참조를 중첩하면 오류가 발생합니다.

다음은 사용 중인 속성 참조에 대한 예입니다.

<output> 
 <file dir="${testdir}\output"/>
</output>

© 2002-2007 PreEmptive Solutions. All rights reserved.